Onboarding APIs
Updated: Nov 14, 2025 To receive payments on WhatsApp, you must have a payment configuration linked to the corresponding WhatsApp Business Account. Each payment configuration is associated with a unique name. As part of the order_details message, you can specify the payment configuration to use for a specific checkout. Onboarding APIs allows you to programatically perform certain operations: Get all payment configurations linked to a WhatsApp Business Account. Get a specific payment configuration linked to a WhatsApp Business Account. Create a payment configuration. Regenerate payment gateway oauth link to link payment configuration to a payment gateway. Remove a payment configuration.Get All Payment Configurations
Get a list of payment configurations linked to the WhatsApp Business Account.Request Syntax
Sample Request
Sample Response
| Field | Description |
|---|---|
configuration_namestring | Required. The name of the payment configuration to be used in the Order Details message. |
merchant_category_codeobject | Required. Merchant Category Code: code stringRequired. Will be a valid MCC code. description stringRequired. MCC code description. |
purpose_codeobject | Required. Purpose Code: code stringRequired. Will be a valid purpose code. description stringRequired. Purpose code description. |
statusstring | Required. Status of the payment configuration. Must be one of [“Active”, “Needs_Connecting”, “Needs_Testing”]. |
provider_midstring | Optional. Payment Gateway Merchant Identification Number (MID). |
provider_namestring | Optional. Payment Gateway Name. Must be one of [“razorpay”, “payu”, “zaakpay”]. |
merchant_vpastring | Optional. Merchant UPI handle. |
created_timestampinteger | Optional. Time when payment configuration was created. |
updated_timestampinteger | Optional. Time when payment configuration was last updated. |
Get a specific Payment Configuration
Get a specific payment configuration linked to the WhatsApp Business Account.Request Syntax
Sample Request
Sample Response
| Field | Description |
|---|---|
configuration_namestring | Required. The name of the payment configuration to be used in the Order Details message. |
merchant_category_codeobject | Required. Merchant Category Code: code stringRequired. Will be a valid MCC code. description stringRequired. MCC code description. |
purpose_codeobject | Required. Purpose Code: code stringRequired. Will be a valid purpose code. description stringRequired. Purpose code description. |
statusstring | Required. Status of the payment configuration. Must be one of [“Active”, “Needs_Connecting”, “Needs_Testing”]. |
provider_midstring | Optional. Payment Gateway Merchant Identification Number (MID). |
provider_namestring | Optional. Payment Gateway Name. Must be one of [“razorpay”, “payu”, “zaakpay”]. |
merchant_vpastring | Optional. Merchant UPI handle. |
created_timestampinteger | Optional. Time when payment configuration was created. |
updated_timestampinteger | Optional. Time when payment configuration was last updated. |
Create a Payment Configuration
Create a payment configuration.Request Syntax
Sample Request
Payment Gateway type configuration
UPI Vpa type configuration
| Field | Description |
|---|---|
configuration_namestring | Required. The name of the payment configuration to be used in the Order Details message. |
merchant_category_codestring | Optional. Merchant Category Code. |
purpose_codeobject | Optional. Purpose Code. |
provider_namestring | Required. Provider name of the payment configuration. Must be one of [“upi_vpa”, “razorpay”, “payu”, “zaakpay”]. |
merchant_vpastring | Optional. Merchant UPI handle. |
redirect_urlURI | Optional. The url which merchant will be redirected to after successfully linking a payment configuration. |
Sample Response
Payment Gateway type configuration
UPI Vpa type configuration
| Field | Description |
|---|---|
oauth_urlstring | Optional. Oauth url to be used to link payment configuration to the payment gateway |
expirationinteger | Optional. Expiration time of the oauth url. |
successboolean | Required. Boolean flag to denote if payment configuration creation was successful or not. |
Link or Update Data Endpoint
The following section explains how to link, update and delete data endpoint to enable coupons, shipping address and real-time inventory offered by Checkout Button Templates.Request Syntax
Sample Request
Payment Gateway type configuration
| Field | Description |
|---|---|
data-endpoint-urlURI | Optional. The URL endpoint that the WhatsApp client sends a secure HTTPS request to for data exchange purposes in Checkout Button Templates offering. |
Regenerate Payment Configuration OAuth link
Regenerate oauth link of payment gateway type payment configuration.Request Syntax
Sample Request
| Field | Description |
|---|---|
configuration_namestring | Required. The name of the payment configuration to be used in the Order Details message. |
redirect_urlURI | Optional. The url which merchant will be redirected to after successfully linking a payment configuration. |
Sample Response
| Field | Description |
|---|---|
oauth_urlstring | Optional. Oauth url to be used to link payment configuration to the payment gateway |
expirationinteger | Optional. Expiration time of the oauth url. |
Remove a Payment Configuration
Remove a payment configuration.Request Syntax
| Field | Description |
|---|---|
configuration_namestring | Required. The name of the payment configuration to be used in the Order Details message. |
Sample Request
Sample Response
| Field | Description |
|---|---|
successboolean | Required. Boolean flag to denote if payment configuration removal was successful or not. |
Payment Configuration Webhook
Businesses receive updates via WhatsApp webhooks when the status of the payment configuration changes. To receive webhook, Businesses must subscribe to “payment_configuration_update” event for their respective application. Webhook contains the following fields:| Field | Description |
|---|---|
configuration_namestring | Required. The name of the payment configuration to be used in the Order Details message. |
provider_namestring | Required. Provider name of the payment configuration. Must be one of [“razorpay”, “payu”, “zaakpay”]. |
provider_midstring | Required. Payment gateway account merchant ID. |
statusstring | Required. Status of the payment configuration. Must be one of [“Active”, “Needs_Connecting”, “Needs_Testing”]. |
created_timestampinteger | Required. Time when payment configuration was created. |
updated_timestampinteger | Required. Time when payment configuration was last updated. |

