Before you begin, make sure you:
- Configure UMA, supported currencies, and required counterparty fields in Platform Configuration
- Create customers and capture any provider-required user fields in Creating Customers
- Set up and verify webhooks in Webhooks
Receive webhook for initiated payment
When someone initiates a payment to one of your users’ UMA addresses, you’ll receive a webhook call with a pending transaction:counterpartyInformation object contains PII about the sender, provided by their FI, based on your configured requiredCounterpartyFields. If present, requestedReceiverCustomerInfoFields lists information needed about your customer to proceed. Provide those fields when approving.
You can approve or reject the payment synchronously (recommended) or asynchronously:
Option 1: Synchronous (recommended)
To approve the payment synchronously, respond with a200 OK status:
- If the
requestedReceiverCustomerInfoFieldsarray was present in the webhook request and contained mandatory fields, your200 OKresponse must include a JSON body containing areceiverCustomerInfoobject. This object should contain the key-value pairs for the information fields that were requested. - If
requestedReceiverCustomerInfoFieldswas not present, was empty, or contained only non-mandatory fields for which you have no information, your200 OKresponse can have an empty body.
200 OK response body when information was requested and provided:
Option 2: Asynchronous Processing
If your platform’s architecture requires asynchronous processing before approving or rejecting the payment, you can:- Return a
202 Acceptedresponse to acknowledge receipt of the webhook - Process the payment asynchronously
- Call either the
/transactions/{transactionId}/approveor/transactions/{transactionId}/rejectendpoint within 5 seconds
Receive completion notification and credit
When the payment completes, you’ll receive another webhook notifying you of the completion. The envelopeid is distinct from the INCOMING_PAYMENT.PENDING delivery above — use it for idempotent deduplication.
defaultUmaDepositAccount flag to true when creating the external account.