Payment webhooks
The following webhook events are available for your Payments integration.
PaymentIntent
| Event | Description |
|---|---|
payment_intent.created | A PaymentIntent has been created. |
payment_intent.requires_payment_method | This PaymentIntent requires a payment method to proceed. |
payment_intent.updated | This PaymentIntent has been updated with additional information. |
payment_intent.requires_capture | Merchant capture is required to fulfill this PaymentIntent. |
payment_intent.requires_customer_action | Additional customer action is required to fulfill this PaymentIntent, for example, 3D Secure authentication or redirects for local payment methods. |
payment_intent.pending | The payment request has been accepted. Waiting for the final result. This applies to asynchronous payment methods such as direct debits. |
payment_intent.pending_review | The payment request was authorized but is undergoing risk review. |
payment_intent.succeeded | A PaymentIntent has been fulfilled. |
payment_intent.cancelled | The PaymentIntent has been cancelled. |
payment_intent.payment_failed | A PaymentAttempt on this PaymentIntent has failed. |
Payload example
JSON
1{2 "id":"evt_100_2019102201549020043_8321220011893766",3 "name":"payment_intent.created"4 "accountId":"78814faa-1b30-4598-a9c8-f0583db8d09d",5 "data":{6 "object": {...}7 }8}
object is the response body from Retrieve a PaymentIntentAPI.
JSON
1{2 "request_id": "d6a92e2a-02e5-c37b-c977-13796ec7443a",3 "id": "int_aaaat9w2hgh8mzi1111",4 "merchant_order_id": "0000000000",5 "amount": 16.66,6 "currency": "USD",7 "captured_amount": 0,8 "payment_method_options": {9 "card": {10 "risk_control": {11 "three_domain_secure_action": "FORCE_3DS",12 "three_ds_action": "FORCE_3DS"13 },14 "three_ds_action": "FORCE_3DS"15 }16 },17 "status": "REQUIRES_PAYMENT_METHOD",18 "created_at": "2023-01-13T07:32:05+0000",19 "updated_at": "2023-01-13T07:32:05+0000"20}
PaymentAttempt
| Event | Description |
|---|---|
payment_attempt.received | The PaymentAttempt has been received. |
payment_attempt.authentication_failed | The PaymentAttempt has failed to be authenticated. |
payment_attempt.authentication_redirected | The PaymentAttempt has been redirected for authentication. |
payment_attempt.pending_authorization | The payment request has been accepted. Waiting for the final result. |
payment_attempt.authorization_failed | The PaymentAttempt has failed authorization. |
payment_attempt.authorized | The PaymentAttempt has been authorized and is waiting to be captured. |
payment_attempt.capture_requested | The PaymentAttempt has been requested for capture successfully and is therefore fulfilled. |
payment_attempt.settled | This PaymentAttempt's funds have been received by Airwallex from the acquirer. |
payment_attempt.paid | This PaymentAttempt's funds have been paid to the merchant's wallet successfully. |
payment_attempt.cancelled | The PaymentAttempt has been cancelled. |
payment_attempt.expired | This PaymentAttempt has expired. |
payment_attempt.risk_declined | The PaymentAttempt has failed to pass the risk screen. |
payment_attempt.failed_to_process | The PaymentAttempt has failed to be processed. |
payment_attempt.capture_failed | The PaymentAttempt has failed to capture. |
Payload example
JSON
1{2 "id":"evt_100_2019102201549020043_8321220011893766",3 "name":"payment_attempt.received"4 "accountId":"78814faa-1b30-4598-a9c8-f0583db8d09d",5 "data":{6 "object": {...}7 }8}
object is the response body from Retrieve a PaymentAttemptAPI.
JSON
1{2 "id": "att_hkpdcpcvbgh8mw11111_wkgwfs",3 "payment_intent_id": "int_hkpdcpcvbgh8mwk1111",4 "payment_consent_id": "cst_hkpdnqn5bgh8mw1111",5 "currency": "KRW",6 "amount": 62723,7 "payment_method": {8 "id": "mtd_hkpdcpcvbgh8m111111",9 "customer_id": "cus_hkpdk7f98gh8ir1111",10 "type": "card",11 "card": {12 "bin": "53651045",13 "brand": "mastercard",14 "card_type": "DEBIT",15 "expiry_month": "09",16 "expiry_year": "2027",17 "fingerprint": "111e4Y759jpc5eC3AAAAaaaa/8=",18 "is_commercial": false,19 "issuer_country_code": "KR",20 "issuer_name": "KB KOOKMIN CARD CO., LTD",21 "last4": "1111",22 "name": "",23 "number_type": "PAN"24 },25 "status": "CREATED",26 "created_at": "2023-01-13T07:29:08+0000",27 "updated_at": "2023-01-13T07:29:08+0000"28 },29 "authentication_data": {30 "avs_result": "U",31 "cvc_result": "U",32 "ds_data": {},33 "fraud_data": {34 "score": "0"35 }36 },37 "captured_amount": 0,38 "refunded_amount": 0,39 "settle_via": "airwallex",40 "status": "RECEIVED",41 "created_at": "2023-01-13T07:29:08+0000",42 "updated_at": "2023-01-13T07:29:08+0000"43}
PaymentConsent
| Event | Description |
|---|---|
payment_consent.created | The PaymentConsent has been created. |
payment_consent.updated | The PaymentConsent has been updated. |
payment_consent.pending | The mandate of the PaymentConsent has been submitted. Waiting for the final result. |
payment_consent.verified | The PaymentConsent has been verified. |
payment_consent.disabled | The PaymentConsent has been disabled. The PaymentConsent cannot be used or updated. |
payment_consent.paused | The PaymentConsent has been paused. |
payment_consent.requires_payment_method | The PaymentConsent requires a payment method because none was provided, or the previous payment method failed verification and a different payment method should be provided. |
payment_consent.requires_customer_action | The PaymentConsent requires additional customer action to complete verification for the payment method. |
payment_consent.verification_failed | The PaymentConsent verification has failed. Retry the consent verification or select a different payment method. |
Payload example
JSON
1{2 "id":"evt_100_2019102201549020043_8321220011893766",3 "name":"payment_consent.verified"4 "accountId":"78814faa-1b30-4598-a9c8-f0583db8d09d",5 "data":{6 "object": {...}7 }8}
object is the response from Retrieve a PaymentConsentAPI.
JSON
1{2 "id": "cst_hkdm2frl4gh6j8v59mf",3 "request_id": "b1717535-620c-4585-839b-cf4225ff8f5e",4 "customer_id": "cus_hkdmlrgw4gh5g65yhel",5 "merchant_trigger_reason": "unscheduled",6 "next_triggered_by": "merchant",7 "payment_method": {8 "id": "mtd_hkdm2frl4gh6j8uzuel",9 "card": {10 "bin": "41111111",11 "brand": "visa",12 "card_type": "DEBIT",13 "expiry_month": "12",14 "expiry_year": "2034",15 "fingerprint": "55H7FnahCHdynKufFW1CBvlSzqE=",16 "is_commercial": false,17 "issuer_country_code": "US",18 "issuer_name": "JPMORGAN CHASE BANK, N.A.",19 "last4": "1111",20 "name": "321",21 "number_type": "PAN"22 },23 "type": "card"24 },25 "status": "VERIFIED",26 "created_at": "2023-01-11T09:44:15+0000",27 "updated_at": "2023-01-11T09:44:15+0000"28}
Customer
| Event | Description |
|---|---|
customer.created | A customer has been created. |
customer.updated | The customer has been updated. |
Payload example
JSON
1{2 "id":"evt_100_2019102201549020043_8321220011893766",3 "name":"customer.created"4 "accountId":"78814faa-1b30-4598-a9c8-f0583db8d09d",5 "data":{6 "object": {...}7 }8}
object is the response body from Retrieve a CustomerAPI.
JSON
1{2 "id": "cus_hkdmlrgw4gh5g65yhel",3 "email": "",4 "first_name": "John",5 "last_name": "Doe",6 "merchant_customer_id": "685e74bd-e6b3-4c41-90cc-baacb1fdd8ca",7 "phone_number": "32132112",8 "request_id": "90d0b992-fc8a-49be-98fb-623a885ca2a7",9 "updated_at": "2023-01-10T10:06:37+0000",10 "additional_info": {11 "registered_via_social_media": false12 },13 "created_at": "2023-01-10T10:06:37+0000"14}
Refund
| Event | Description |
|---|---|
refund.received | This refund request has been received and will be processed later. |
refund.accepted | This refund request has been accepted and started processing. |
refund.settled | This refund has been settled. |
refund.failed | This refund has failed. |
Payload example
JSON
1{2 "id":"evt_100_2019102201549020043_8321220011893766",3 "name":"refund.accepted"4 "accountId":"78814faa-1b30-4598-a9c8-f0583db8d09d",5 "data":{6 "object": {...}7 }8}
object is the response body from Retrieve a RefundAPI.
JSON
1{2 "request_id": "GN230113463059337228",3 "id": "rfd_aaaanqn5bgh8mnssssh_ga04nr",4 "payment_attempt_id": "att_hkpdxmj6wggosgaaniy_ga04nr",5 "payment_intent_id": "int_hkpdxmj6wggosga04nr",6 "amount": 21.49,7 "currency": "SGD",8 "reason": "Return good",9 "status": "ACCEPTED",10 "created_at": "2023-01-13T07:20:02+0000",11 "updated_at": "2023-01-13T07:20:02+0000"12}
PaymentMethod
| Event | Description |
|---|---|
payment_method.created | This payment method has been created. |
payment_method.updated | This payment method has been updated. |
payment_method.attached | This payment method has been attached to a customer. |
payment_method.detached | This payment method has been detached from a customer. |
payment_method.disabled | This payment method has been disabled. |
Payload example
JSON
1{2 "id":"evt_100_2019102201549020043_8321220011893766",3 "name":"payment_method.created"4 "accountId":"78814faa-1b30-4598-a9c8-f0583db8d09d",5 "data":{6 "object": {...}7 }8}
object is the response body from Retrieve a PaymentMethodAPI.
JSON