Order Success
Process order.success webhooks and identify completed payment details.
Handle order.success Events
order.success EventsUse the order.success webhook payload to identify a completed payment and its associated order details.
Amwal sends the order.success webhook when a payment is confirmed and completed. Use this event to mark the related order or payment attempt as successful in your system.
Process the event
- Match the event to the related order or payment attempt.
- Confirm that the payload
statusissuccess. - Store the transaction ID and update the related order or payment attempt as successful.
- Start your fulfillment or order-completion flow after you update the payment status.
- Return HTTP
200after your system accepts the event.
Example payload
This example shows a successful payment event with a pending installment. All identifiers, customer data, merchant data, and URLs use dummy values.
{
"event_type": "order.success",
"data": {
"id": "00000000-0000-4000-8000-000000000001",
"fees": "0.00000",
"type": "PRODUCTION",
"taxes": "0.00000",
"amount": "1140.00000",
"issuer": "Example Bank",
"number": "555555xxxxxx4444",
"ref_id": null,
"status": "success",
"gateway": 11,
"discount": "0.00000",
"shipping": "0.00000",
"trx_lang": "ar",
"amwal_fee": "22.80",
"bank_name": "EXAMPLE",
"card_type": "",
"created_at": "2026-07-22T02:18:41.068574+03:00",
"store_logo": "<SIGNED_STORE_LOGO_URL>",
"branch_name": "-",
"card_holder": "",
"merchant_id": "<MERCHANT_ID>",
"murabha_fee": "0.00",
"app_notified": false,
"client_email": "[email protected]",
"gateway_type": 4,
"merchant_key": "<MERCHANT_KEY>",
"paymentBrand": "MASTER",
"store_domain": "https://example.com/ar/",
"total_amount": "1140.00",
"amwal_tax_vat": "3.42",
"approval_type": null,
"hypersplit_id": null,
"is_refundable": true,
"order_details": {
"order_id": "10000001",
"payment_link_metadata": {
"productType": "accommodation"
}
},
"failure_reason": null,
"funding_method": "credit",
"payment_amount": "1140.00",
"payment_method": "Apple Pay",
"payment_option": "Installment",
"refund_tracker": null,
"address_details": null,
"convenience_fee": "0.00",
"disputed_status": null,
"installment_fee": "17.10",
"merchant_domain": "https://example.com/ar/",
"merchant_payout": "1094.12",
"murabha_fee_vat": "0.00",
"payment_link_id": "00000000-0000-4000-8000-000000000002",
"refunded_amount": "0.00",
"address_required": false,
"brand_percentage": "2.00",
"brand_static_fee": "0.00",
"card_bank_issuer": "",
"client_last_name": "Example",
"shipping_details": null,
"supports_stc_pay": false,
"client_first_name": "Customer",
"client_registered": false,
"payment_link_lang": "ar",
"card_last_4_digits": "",
"card_payment_brand": "",
"installment_status": "Pending",
"client_phone_number": "+966500000000",
"installment_fee_vat": "2.56",
"installment_tracker": {
"id": "100000",
"status": "P",
"message": null
},
"has_new_registration": false,
"hyperpay_checkout_id": null,
"installment_duration": "3",
"is_approved_by_client": null,
"merchant_country_code": "SA",
"merchant_business_name": "Example Merchant",
"billing_address_required": false,
"payment_link_description": null,
"payment_link_callback_url": "https://example.com/payment/callback",
"payment_link_show_shipping": false,
"payment_link_passkey_enabled": false,
"merchant_english_business_name": "Example Merchant",
"payment_link_only_show_pay_in_full": false,
"payment_link_only_show_bank_installments": true
}
}Map payload identifiers to your records
The payload
idmaps to the Amwaltransaction_id. Useorder_details.order_idto match the event to the order ID in your system when it is present.
Updated 20 days ago
Did this page help you?
