Auth & Capture Process Overview
Description of bKash's Auth & Capture Process & Relevant APIs
bKash's auth & capture product is particularly useful for those merchants who have reservation system in their customer journey. In these cases, the first reservation from the customer is confirmed for a specific product or a service in the form of fund authorization. Then payment is performed against that reservation by verifying the customer with his wallet number, wallet PIN and OTP. If the payment is successful, then the reservation is confirmed through the fund capture. If the payment is unsuccessful, then the reservation is canceled through void.
Steps to be Performed by the Customer
- The customer clicks on the "Pay with bKash" or similar button on the merchant website/mobile application and a secure bKash screen is loaded.
- In the bKash screen, the customer needs to provide his bKash wallet number and also agree to the terms and conditions. If the wallet number is valid, then the customer moves to the next page.
- A 6 digit OTP is sent to customer's registered mobile number at bKash account through SMS. The customer enters the OTP. If the OTP validation is successful, then the customer moves to the next page.
- The customer now needs to enter his bKash wallet PIN. If PIN verification is successful, then the authorization is successfully completed.
- After payment completion, the customer will see the notification and will be reverted back to the merchant website.
Customer Interaction Flow
Select bKash as payment method (at merchant website).
Enter wallet number (at bKash frame).
Enter OTP (at bKash frame).
Enter Wallet PIN (at bKash frame).
For successful verification at bKash end, customer will see corresponding message at merchant website.
System Interaction
Before calling any bKash API, please make sure you have valid authorization tokens. To know more about tokens, visit the Token Management page.
To implement the bKash auth & capture feature, you need to Integrate the bKash checkout script with your front-end source code. This script will enable the following activities -
- When a customer clicks "Payment with bKash" or a similar button, call the Create Payment API.
- If a successful response comes, load the secure bKash frame where the customer will enter his bKash wallet information for proceeding to payment.
- In the bKash payment screen, the customer will enter his wallet number, 6-digit OTP and PIN one by one.
- After successful validation of all this customer information, bKash will respond and then the Execute Payment API needs to be called.
- After a successful response of the Execute Payment API, the authorization will be completed.
- If there is no response from Execute Payment API, call Query Payment API to know the status of the pending payment. If the status is "Initiated", try from Create Payment again. If the status is "Authorized", then provide service to the customer.
- If the service is provided to the customer, then the merchant system needs to call the Capture API to successfully complete the transaction.
- If the service is not provided successfully, then the merchant system needs to call the Void API to cancel the fund authorization.
If no response is found from the Capture/Void API, retry the corresponding API unless the operation is successful. - Implement the default timeout value of bKash APIs as 30 seconds.
System Interaction Flow

Updated about 1 year ago
