Direct Debit Binding

The Direct Debit Binding feature (Get OAuthCode 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, etc) that the merchant would like to request user to bind

Bank Account Binding is done through Ayoconnect's webview. Once a bank account has been successfully binded / failed to bind, 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 API. 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

When the binding is expired from bank side, user will need to do re-binding in order to be able to attempt payment again.


AccountToken Expiration from banks

Bank Name

Account Token Expiration

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, Mandiri 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 bind a valid card (before expiration date), and then in the future the card expired, partner will not be able to attempt anymore payment. 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, and for some reason try to bind the same card through Ayoconnect Direct Debit Ecosystem, most bank 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

BRI

  • 1 account / card can be binded multiples times per merchant
  • If an account / card has been binded successfully previously in a merchant, and user attempts binding with the exact same account/card again within that same merchant, Ayoconnect will return the same token for that binding

BNI

  • 1 account / card can only be binded once per merchant
  • If an account / card has been binded successfully previously in a merchant, and user attempts binding with the exact same account/card again within that same merchant, user will encounter an error during binding
  • In this case, Ayoconnect will show error message during binding UI with message "Request Not Allowed"

Mandiri

  • 1 account / card can only be binded once per merchant
  • If an account / card has been binded successfully previously in a merchant, and user attempts binding with the exact same account/card again within that same merchant, user will encounter an error during binding
  • In this case, Ayoconnect will show error message during binding UI with message "Internal server error occurred"

Danamon

  • 1 account / card can only be binded once per merchant
  • If an account / card has been binded successfully previously in a merchant, and user attempts binding with the exact same account/card again within that same merchant, user will encounter an error during binding
  • In this case, Ayoconnect will show error message during binding UI with message "General error from bank"