Skip to main content

Receive a BDO Installment payment

Learn how to receive a bdo_installment payment from your customer.

The BDO Installment payment method allows your customers to use their BDO-issued credit card to complete a payment in installments. To complete a BDO Installment payment, your customer should select BUY NOW, PAY LATER with the BDO logo as the payment method, and complete the necessary steps.

BDO Installment vs Credit card payment

BDO Installment is a different payment method from a card payment method. If you want to implement straight card payments regardless of the issuing bank, please check the card payment method section.

Activating the payment method in live mode

In test mode, you can try the BDO installment payment method. For live mode payments, this payment method should be requested for activation through customer support.

The BDO Installment payment flow

At checkout, your customer can select BUY NOW, PAY LATER with the BDO logo as the preferred payment method. Once your customer clicks the pay button, the customer is redirected to the BDO checkout page, and your customer must complete the payment. BDO facilitates its payment step. PayRex facilitates the transaction by rendering the payment page provided by BDO.

Payment terms and installment types.

Installment Types

  • Regular Installment - regular
  • 0% Interest Installment - zero
  • Regular Installment with Payment Holiday - regular_holiday
  • 0% Interest Installment with Payment Holiday - zero_holiday

Payment terms

  • 3
  • 6
  • 9
  • 12
  • 18
  • 24
  • 36

Low-code integration

PayRex offers a low-code solution that gives you more payment integration control.

  • Checkout: This lets you redirect your customers to a PayRex-hosted checkout page.
  • Elements: A UI component that you can embed into your website. When your customer is ready to complete a purchase, you create a PaymentIntent and configure how you want to display payment methods.

Receiving a BDO installment payment

To receive a BDO Installment payment, you must specify that you allow a BDO Installment payment when creating a payment intent. The example below is for payment intent workflow.

create_payment_intent.js
// Protect your PayRex Secret API key at all costs. One common approach
// to store it in an environment variable.
// Add your PayRex test secret API key.
const payrexSecretApiKey = '';

const payrex = require('payrex-node')(payrexSecretApiKey);

// Create a PaymentIntent with amount and currency
const paymentIntent = await payrex.paymentIntents.create({
// Amount is in cents. The sample below is 100.00.
amount: 10000,
currency: 'PHP',
payment_methods: [
'bdo_installment',
// add more payment methods if this is your preference
],
});

const output = {
clientSecret: paymentIntent.clientSecret,
}

console.log(JSON.stringify(output));

Once you specify the bdo_installment string, PayRex will handle the rest of your customer's payment flow.

Overriding installment types or payment terms

By default, PayRex provides the full payment method options for the BDO installment payment method. If you want to override the default payment method options e.g. you will only allow zero installment options, please see sample code below:

create_payment_intent.js
// Protect your PayRex Secret API key at all costs. One common approach
// to store it in an environment variable.
// Add your PayRex test secret API key.
const payrexSecretApiKey = '';

const payrex = require('payrex-node')(payrexSecretApiKey);

// Create a PaymentIntent with amount and currency
const paymentIntent = await payrex.paymentIntents.create({
// Amount is in cents. The sample below is 100.00.
amount: 10000,
currency: 'PHP',
payment_methods: [
'bdo_installment',
// add more payment methods if this is your preference
],
payment_method_options: {
bdo_installment: {
// Sample values if you will only allow 3 and 6 months installment
"payment_terms": ["3", "6"],
// Sample values if you will only 0% installments
"installment_types": ["zero", "zero_holiday"],
}
}
});

const output = {
clientSecret: paymentIntent.clientSecret,
}

console.log(JSON.stringify(output));