Skip to main content

Billdesk Payment Gateway Integration Guide

Updated: Nov 14, 2025 The purpose of this document is to lay down the payment integration with Billdesk that is required for a merchant, or a Solution Partner, that has implemented a chatbot using WhatsApp Business APIs and needs to accept payments from WhatsApp users. This document outlines the necessary APIs that must be integrated and how the integration works in conjunction with the WhatsApp Business API integration. While not a comprehensive guide, it serves as a general overview to assist in understanding the payment gateway integration process. Any specific or unique details related to the payment gateway must be determined by the merchant or Solution Partner. In terms of integrating with the WA P2M product, this document covers the requests and responses highlighted in red in the flow diagram.

Billdesk payment integration

Setup

To authenticate with Billdesk’s API, a client must be created and an authentication method must be selected between HMAC and Javascript Object Signing and Encryption (JOSE) with JOSE being the preferred method. These methods are used to encrypt/decrypt the request/response from Billdesk’s APIs. To simplify the explanation, the following examples will only address the body of final payload that will ultimately be included in the final object required for successful authentication with their API. It is important to consult Billdesk’s documentation for guidance on how this final object must be structured. You must have the following details before you can proceed: Client ID and secret key from Billdesk Details from the payment configuration you already configured on the Whatsapp Business Account Merchant category code Merchant’s VPA Merchant Name

Initiate Payment API

Sample request to POST to https://pguat.billdesk.io/payments/ve1_2/transactions/create

Sample response

Parse the response

Use the value of wa_txnid on the response and pass it as the reference_id while setting up the parameters object to send for the order details message using the API. Make sure to verify the values in the intent you receive: The intent key has the base64 encoded value of the intent Decoding the intent should give a value that should be similar to this: upi://pay?pa=billdesk@hdfcbank&pn=SIDDHIVINKamp;mc=6300&tr=XHD50477676443&tn=Pay&am=2.00&malORS The value of pa is the merchant VPA. This value must match the VPA on the payment_configuration you send in the parameters object

Status webhook

Billdesk will post a transaction object to the return URL (ru) you specified in the initiate payment API.

Parsing the response

Use the auth_status retrieved from the response above and transmit the corresponding status message via the WhatsApp API. Did you find this page helpful? Thumbs up icon Thumbs down icon ON THIS PAGE Billdesk payment integration Setup Initiate Payment API Sample request to POST to https://pguat.billdesk.io/payments/ve1_2/transactions/create Sample response Parse the response Status webhook Parsing the response