Direct Debit Binding
The Direct Debit Binding feature (registration-account-binding API) is the first process of the Direct Debit Journey of a user.
Binding in this context means registering the user's Bank Account in Ayoconnect's Direct Debit system so that payment can be made using that bank account.
It is a one-time process, and after a successful binding, the user can make payments as many times as they want as long as the card is not unbinded. If a bank account has unbinded, the user has to rebind it again.
Through this feature, you can:
- Bind a user's bank account to your product/service for recurring payments
- Define the bank name (BCA, BRI, Mandiri, etc) that the merchant would like to request user to bind
Bank Account Binding is done through Ayoconnect's webview. There are 2 steps a user would need to go through to ensure a successful binding process:
- User submits his bank account details
- User authenticates themselves
Once a bank account has been successfully binded, the user can be redirected to a merchant-specific URL, which must be provided during the merchant onboarding process. After that, new redirection URLs can be provided as parameters in the API but they will be applied only to that specific request.
Upon successful binding, Partners will receive accountToken via account binding callback. This token will not have any expiration from Ayoconnect side, but do note that banks will have their own Binding expiration time. See the table below
Binding Status
Possible latestBindingStatus statuses are:
- IN_PROGRESS
- This indicates that the binding flow has been initiated but user has not submitted bank account details successfully, and thus has not reached the verification step
- VERIFICATION_PENDING
- This indicates that the user has submitted his bank account details successfully, and is now at the authentication step (i.e. OTP verification step)
- SUCCESS
- This indicates definitive successful binding from the bank
- FAIL
- This status indicates definite binding failure status from the bank. You should initiate another binding attempt if you would like to try again
- UNBINDED
- This status indicates that a previously binded bank account has been unbinded. This status will only be returned as part of the unbinding flow response
AccountToken Expiration from banks
Bank Name | Account Token Expiration |
|---|---|
BCA | TBC from BCA side |
BRI | Following Card Expiration Date |
BNI | Following Card Expiration Date |
Mandiri | 3 Months if there is no payment activity in that 3 month timeframe. If payment activity is done, Mandiri will renew and extend the binding expiration for another 3 months. If the debit card has past the expiration date, then the payment will not work and will return error response by the bank |
Danamon | 1 Year if there is no payment activities in that timeframe. If payment activity is done, Danamon will renew and extend the binding expiration for another 1 Year Danamon binding does not have any dependencies on user card expiration date |
If the user tries to bind an expired card, it will fail during binding process and will not be able to do payment. If user binds a valid card, and then in the future the card expires, payment attempts will fail. The payment charge API will return error "Card Expired"
User will need to re-bind with new card in order for partner to attempt another successful payment.
Rebinding behavior for each banks
If the user have successfully bind a valid card before on a merchant platform, and tries to bind the same card again on the same merchant platform, most banks will reject the binding request and return error message.
In this case, there are 2 options that the merchant can consider:
- Merchant need to unbind the card first before attempting to do another binding using the same card.
- Merchant can simply use the existing token to do payment without the need to do any binding.
Bank Name | Re-Binding Behavior |
|---|---|
BCA |
|
BRI |
|
BNI |
|
Mandiri |
|
Danamon |
|
Updated about 1 month ago