Accepting Payments for Sub-Accounts

Before creating payments for your partner's account, Platform needs to make sure several settings have been enabled on the partner's account level

Payment method is active on partner’s account level

The Platform needs to make sure all the desired payment methods have already been activated on the partner’s account level.

If your partner’s account is:

  • Owned account

Once the Platform has activated a payment method, your partner’s account will have that payment method active on their level automatically*

* See section limitation on settings sync for existing Owned accounts

  • Managed account

Your partner needs to activate each payment method through its own dashboard. They can activate any payment method by going to Payment Method Settings and click “Activate” on respective payment method.

Supported payment methods for partner’s accounts

The following countries are supported:

  1. Indonesia
  2. Philippines

Indonesia

Payment MethodOwnedManaged
Virtual Account - BCA (Aggregator and Switcher)✅ **✅ *
Virtual Account - Aggregator
Virtual Account - Switcher✅ *
Cards✅ *
Retail Outlet✅ *
Direct Debit
Ewallet
Ewallet - ShopeePay✅ **
QR Code - Dynamic
QR Code - Static✅ **
Paylater

Philippines

Payment MethodOwnedManaged
Cards✅ **
Retail Outlet
Direct Debit
Ewallet
Ewallet - GCash✅ **
Paylater

* Not available if your Partner onboards as an individual business

** These channels require separate activation for Owned Sub-Accounts. Please refer to this guide.

Flow & Implementation

Use the Platform account API key and request creating payments via API eg: Create Invoice with additional parameter for-user-id on the header. Put the id of the partner's account that you want to make a payment for as the value of parameter for-user-id.

Here are some examples of creating payments flow for partner’s account:

Create xenInvoice for your partner

Create Fixed Virtual Account for your partner

Name Displayed to the End User

By using xenPlatform, you can accept payments on behalf of your partners through different payment channels. When end-payers pay, they will see the name of your Partner in various touchpoints. There are several guidelines for the displayed name depending on the account type as follows:

  • Managed Sub Account: All payment methods will display the Partner name (for VA and Retail Outlet created via API are customizable based on the parameter name in the API Reference)
  • Owned Sub Account: The name displayed will be based on the payment method as follows:

🇮🇩 Indonesia (ID)

Payment MethodOn xenInvoiceOn Payment partner properties (e.g. eWallet app, mobile banking, cards authorization)
Virtual AccountPartner NamePartner Name on VA properties in mobile banking (customizable with name parameter)
Retail OutletPartner NamePartner Name on retail outlet (customizable with name parameter)
CardsPartner NamePartner Name on cards authorization and bank statement
Direct DebitPartner NamePlatform Name on mobile banking app
eWalletPartner NamePlatform Name on eWallet app
QRISPartner NamePlatform Name on the QRIS supported app

🇵🇭 Philippines (PH)

Payment MethodOn xenInvoiceOn Payment partner properties (e.g. eWallet app, mobile banking, cards authorization)
Retail OutletPartner NamePartner Name on retail outlet (customizable with customer_name parameter)
CardsPartner NamePartner Name on cards authorization and bank statement
Direct DebitPartner NamePlatform Name on mobile banking app
eWalletPartner NamePlatform Name on eWallet app

Receiving Callbacks for your partners’ accounts events

To receive Callbacks on events occurring on your partners’ accounts, you will need to set relevant Callback URLs on the partner’s account. For example, to receive invoice paid Callbacks for your partner, you have to make sure that your partner’s account has already been set for Invoice paid callback URL.

If your partner’s account is:

  • Owned accounts

Once the master account has set a callback URL, it will also be set for all Owned accounts callback URL automatically* eg: Master account has set Invoice paid callback URL, the same callback URL will also be set for the Owned account Invoice paid callback URL.

* See section limitation on settings sync for existing Owned accounts

  • Managed accounts

Your partner needs to set their own callback URL. There are two ways to set Managed account callback URL:

  1. Navigate to Callback URL Settings in their own dashboard
  2. Set callback URL via API

Limitation on Settings sync for existing Owned accounts

There’s a known limitation where if the Platform makes a new/change settings on their account, then this setting would not be synced automatically to all the existing Owned accounts created prior to the new settings being made. This limitation happens to settings such as:

If Platform has already created an Owned account before payment methods (e.g: OVO, Alfamart, etc.) are active on platform account level, those payment methods will only sync automatically for the newly created Owned accounts and not for the existing Owned accounts.

If Platform has already created an Owned account before the callback URL is set up or changed on platform account level, the new callback URL will only sync automatically for the newly created Owned accounts and not for the existing Owned accounts.

If Platform has already created an Owned account before making a new change on Customize Invoice settings eg: Untick the payment method option, the changes will only sync automatically for the newly created Owned accounts and not for the existing Owned accounts.

To resolve Platform settings out of sync issues for Owned accounts, you can try the following:

  1. We suggest that Platforms make/change any settings before creating production Owned accounts during the first time integration process
  2. For callback URL settings out of sync, Platform can set up callback URL for Owned account via API
  3. For active payment methods and customize invoice settings out of sync, please contact us to help with the sync

FAQ

1. How does a Managed account accept payment?

Managed accounts can accept payment in two ways:

  1. Platform request to create payment on behalf of Managed accounts
  2. Managed account can create their payment using their own API key

2. How does a Platform account accept payment for itself?

Platform accounts can request to create payment (eg: create Invoice) using Platform account API key and don’t input parameter for-user-id on the header

Last Updated on 2024-03-18