ewalletTransaction/create webhook notification
The UNIPaaS system will update your platform of each transaction via the ewalletTransaction/create
webhook. Including incoming and outgoing transactions. In most cases, you will receive more than one webhook notification for each transaction, as separate notifications will be fired for fees and splitted payments.
ewalletTransaction/create webhook
Use the ewalletTransaction/create
webhook to keep your platform updated about every transaction that goes into or out of your vendor's eWallets, including fees and statuses.
Webhook fields and examples
The following is an example for the EwalletTransaction/create
, for an incoming transaction (a vendor on your platform has received a payment)
{
"merchantId": "634801efbf65c800ef3e66df",
"vendorId": "634803b8e81da8def11e4329",
"id": "152309",
"amount": 10,
"currency": "GBP",
"reference": "INV-0063",
"fees": 0,
"type": "Charge",
"transactionId": "639ed03d1258510111196a9e",
"authorizationId": "639ed03d1258517389196a98",
"transactionType": "Sale",
"transactionResult": "Approved",
"paymentMethod": "card",
"payoutId": null,
"brand": "visa",
"issuerCountry": "GB",
"reconciled": "false",
"eWalletId": "105228",
"netAmount": 10,
"pendingAmount": 10,
"payableAmount": 0,
"reservedAmount": 0,
"payableBalance": 49.95,
"reservedBalance": 0,
"identificationReference": "2535",
"feeDesription": null,
"hint": "",
"metadata": {
"accountCode": "090",
"clientId": "18F8E1942DD04BB3B5E5A9551AB161C1",
"clientSecret": "NL6CtohuGBtbW5jS55UrnDqO5GwS2sANcLLddUE-eFHzL9Qz"
},
"createdAt": "2022-12-18T08:33:04.763Z"
}
Multiple webhook notifications for each transaction
You will receive multiple
ewalletTransaction/create
webhook notifications for most transactions. Each webhook notifications will represent a different aspect of a transaction, such as fees, authorization, etc.
Filtering out notifications
Some webhook notifications should be used by your platform to update the invoice status and account ledger. The following table will help you listen only to the relevant notifications.
We recommend you filter out all ewalletTransaction/create
webhook notifications, except the following:
Description | transactionType value | transactionResult value | reconciled value | Action | |
---|---|---|---|---|---|
A payment was received | Sale | Approved | false | Update the invoice with PAID status Update the account ledger | Required |
A payment was refunded | Refund | Approved | false | Update the invoice with REFUNDED status Update the account ledger | Required |
A payout was made to a vendor's bank account | Payout | Approved | irrelevant | Update the invoice PAID INTO BANK ACCOUNT status Update the account ledger | Required |
A payment was settled (funds are available) | Sale | Approved | true | Optional |
Payment attribution
Every webhook notification will contain a
vendorId
field which is used to attribute a transaction to a specific user on your platform.Some transactions are attributed to your platform, these transactions will have the same ID in both
vendorId
and 'merchantId` fields
Object fields
The following table describes the most important ewalletTransaction/create
object fields:
Field | Description |
---|---|
vendorId | The unique id of the vendor this transaction is relevant for |
amount | Transaction amount |
currency | Transaction currency |
reference | - Invoice number or reference number for incoming payments - null for outgoing payments |
fees | - The sum amount of fees deducted for this transaction |
transactionId | - Identifier of this specific transaction |
authorizationId | - identifier of the authorization (refunds and chargebacks will have the same authorizationId as the original transaction) |
transactionType | - Represents the the transaction (Use this field to filter notifications) - see table below to learn about transaction types |
transactionResult | Approved - Incoming transaction was successfully executedDeclined - An incoming transaction attempt was declinedPending - An incoming transaction is still processingError - There was an error with the transactionCreated - An outgoing transaction was successfully executed.Cancelled - An outgoing transaction was cancelled- Some transactionResult values are relevant to specific transactionType values. These are shown in the table below. |
paymentMethod | Indicates the payment method that was used to take a payment. |
payoutId | A unique ID of an outgoing payment transaction. |
brand | The card/bank brand that was used to take the payment. |
reconciled | - Indicates if an incoming transaction was reconciled - Not relevant for outgoing transactions |
eWalletId | - The ID of the eWallet that the transaction webhook is relevant for |
netAmount | - The transaction amount after deductions |
Updated 9 months ago