Wallet Direct Debit Flow
The wallet direct debit flow enables customers to conveniently make payments by directly deducting the amount from their linked wallet accounts. When initiating the payment, if the customer's wallet has sufficient funds, the payment is immediately successful. However, if the wallet balance is insufficient, the payment status will be marked as "PENDING," and the response will include a top-up URL to facilitate adding funds to the wallet. This ensures a seamless and efficient payment experience for customers using wallet direct debit.
Integration Architecture
New Wallet - First time linking
Call “Create Wallet” API
- Wallet account can be created only for an existing customer. Creating the wallet with
command=authenticateparameter will trigger an OTP which will be used for linking the wallet thereby enabling direct debit authorization. You also have the option of deferring the authentication to a later point of time by omitting thecommand=authenticateparameter. In case you decide to defer it, Please use the authenticate API, followed by the link API to authenticate and link the wallet.
Call “Link Wallet” API
- Completes the authentication and linking process of the wallet with the customer account. OTP received from the customer
is forwarded to Juspay using this API for linking the wallet. On successful verification of the OTP, the wallet is linked with the customer object. If failed, thenlinkedattribute will remain to befalse.
Now a transaction can be initiated by following the linked wallet flow described below.
Wallet Direct Debit Transaction - Linked Wallet
Call “Refresh Wallet” API
- Refresh wallet API can be used to get the wallet with updated balance from wallet provider. This API is applicable only for linked wallets. Alternatively, use the “Refresh All Wallets” API
to fetch all wallets linked to a customer along with updated wallet balances.
Call “List Wallet” API
- Wallets can be listed only in the context of a customer. This API will return the list of wallets which are linked.
Call “Wallet Direct Debit” API
- Directly debit the amount from a Wallet that is linked to a Customer’s account. If the status in the response is
CHARGED, then the payment is immediatley successful. If the status in the response isPENDING, then the user wallet doesn’t have sufficient balance for the payment and the topup URL is returned in the response

