When to use it: Use this webhook to update an existing transaction for a merchant account.
Note: To update the transaction status specifically, you must use the Sync Transaction Status webhook instead.
webhookType: UPDATE_TRANSACTION
Which fields can be updated
This webhook only changes the fields you send. Fields you leave out, or send as null, keep their current value.
- Never updatable: the transaction identifier, the company,
payType,transactionNumberandcreationDate. They identify the transaction, so any value you send for them is ignored. - Account identifiers fill only once:
iban,bicSwift,ukAccountNumber,ukSortCode,accountNumber,routingNumber,caRoutingNumber,bsbCode,clabe,cnaps,ifscandbankonsourceAccountanddestinationAccount. You can set them when the transaction does not have a value yet, for example when the sender details only become available after the payment was first reported. Once a field has a value it cannot be changed, and a different value is ignored. The rest of the update is still applied. - Freely updatable: every other field in the request body, including the
aliasand address fields ofsourceAccountanddestinationAccount.
Note: Updates are not applied to transactions that are already in a final status (ACCEPTED, SETTLED, FAILED, CANCELLED, POSTED, DECLINED, VOIDED, EXPIRED). Send the UPDATE_TRANSACTION webhook before the Sync Transaction Status webhook that moves the transaction to its final status.
Dynamic fields
If you would like to display any additional information related to a transaction, you can pass this information using dynamicFields field.
Request Body
{
"transactionNumber": "string", // Represents the unique identifier for the transaction (REQUIRED)
"payType": "string", // Represents the type of payment used in the transaction (REQUIRED). Enum: [ CARD, INBOUND_BANK_TRANSFER, OUTBOUND_BANK_TRANSFER, MANUAL, OUTBOUND_BANK_TRANSFER_DIRECT_DEBIT]
"baseCurrency": "string", // Represents the original currency in which the transaction was initiated
"baseTotal": "number (double)", // Represents the total in the original currency in which the transaction was initiated
"merchant": "string", // The name of the merchant or company associated with the transaction
"address": "string", // The address of client (merchant or company)
"creationDate": "string", // Not updatable: the value set when the transaction was created is kept, and any value sent here is ignored. Format: "yyyy-MM-dd'T'HH:mm:ss.SSSX"
"settlementDate": "string", // This is the date when transaction is settled. Format: "yyyy-MM-dd'T'HH:mm:ss.SSSX"
"sourceAccount": {
"alias": "string", // Account alias
"iban": "string", // IBAN. Fill-once: can be set only while empty
"bicSwift": "string", // BIC / SWIFT code. Fill-once
"ukAccountNumber": "string", // UK account number. Fill-once
"ukSortCode": "string", // UK sort code. Fill-once
"accountNumber": "string", // Account number. Fill-once
"routingNumber": "string", // US routing number (ABA). Fill-once
"caRoutingNumber": "string", // Canadian routing number. Fill-once
"bsbCode": "string", // Australian BSB code. Fill-once
"clabe": "string", // Mexican CLABE. Fill-once
"cnaps": "string", // Chinese CNAPS code. Fill-once
"ifsc": "string", // Indian IFSC code. Fill-once
"bank": "string", // Bank name. Fill-once
"address": "string", // Account address
"address2": "string", // Additional address info
"city": "string", // City of the account
"postalCode": "string", // Postal code
"countryCode": "string" // Country code"
},
"destinationAccount": {
"alias": "string", // Account alias
"iban": "string", // IBAN. Fill-once: can be set only while empty
"bicSwift": "string", // BIC / SWIFT code. Fill-once
"ukAccountNumber": "string", // UK account number. Fill-once
"ukSortCode": "string", // UK sort code. Fill-once
"accountNumber": "string", // Account number. Fill-once
"routingNumber": "string", // US routing number (ABA). Fill-once
"caRoutingNumber": "string", // Canadian routing number. Fill-once
"bsbCode": "string", // Australian BSB code. Fill-once
"clabe": "string", // Mexican CLABE. Fill-once
"cnaps": "string", // Chinese CNAPS code. Fill-once
"ifsc": "string", // Indian IFSC code. Fill-once
"bank": "string", // Bank name. Fill-once
"address": "string", // Account address
"address2": "string", // Additional address info
"city": "string", // City of the account
"postalCode": "string", // Postal code
"countryCode": "string" // Country code
},
"balance": "number (double)", // The account balance after the transaction
"corePaymentType":"payment-type-Global-SWIFT | payment-type-UK-BACS | payment-type-EU-SEPA-Target2 | payment-type-UK-Chaps | payment-type-EU-SEPA-Step2 | payment-type-virtual-debit-card-debit | payment-type-inter-ledger | payment-type-UK-FasterPayments | payment-type-fx | payment-type-card | payment-type-card-reserve | payment-type-EU-SEPA-Instant | payment-type-AU-NPP | payment-type-EU-Target2 | payment-type-AU-DE | payment-type-US-ACH | payment-type-SG-FAST | payment-type-US-Wires | SPEI | AUS-PAY-NET | EFT | NCS | CERTIS | STRAKSCLEARING-Instant | INTRADAGCLEARING | CHATS | GIRO_ZRT | IMPS | NEFT | SKN | IBG | NORWEGIAN-INTERBANK-CLEARING-SYSTEM | PESONET | ELIXIR | TRANSFOND_SENT_ACH | FAST | INTERNAL-TRANSFER | RIX | FEDACH | FEDWIRE | CHIPS | SEPA | TARGET2 | DIRECT_DEBIT_OUTBOUND", // Identifies the payment type used for this transaction
"country": "string", // the country where the account related to the card was opened
"bankName": "string", // The name of banking provider card
"bankLogo": "string", // The logo of the banking provider as a url of a png image
"bankDescription": "string", // This is data associated with the transaction from the banking provider
"failureReason": "string", // This field represents the reason for failure of the transaction, if applicable
"dynamicFields": [
{
"label": {
"en": "string", // Label in English
"es": "string" // Label in Spanish
},
"valueId": "string", // Unique identifier for the dynamic field
"value": "string" // Value of the dynamic field
}
],
"transactionTitle": "string", // If provided, we use it as transaction title shown to the end user
"concept": "string", // This field represents the description of purpose
"fxRate": "number (double)", // Exchange rate for the transaction
"availableBalance": "number (double)", // This is used to show the available balance in looker
"actualBalance": "number (double)", // This is used to show the actual balance in looker
"reference": "string", // Reference related to this payment transaction
"beneficiaryCurrencyAmount": "number (double)" // The amount in the currency supported by the Beneficiary’s account
}