Skip to main content
This endpoint returns all supported payment methods available for a transaction based on the customer’s country, currency, amount, and payable type. It calculates fees, taxes, and exchange rates for each payment method.

Authentication

X-Auth-Token
string
required
Authentication token obtained from login
uuid
string
required
Device UUID for request tracking
platform
string
required
Platform identifier (e.g., “WEB”, “MOBILE”, “IOS”, “ANDROID”)

Request Body

pcn
string
required
Payment Control Number - unique identifier for the payable item
payAbleType
enum
required
Type of payable itemOptions:
  • TRANSACTION - Remittance/money transfer
  • WALLET - Generic wallet payment
  • WALLET_CUSTOMER - Personal wallet payment
  • WALLET_PAYCENTER - Agent wallet payment
  • BILL - Bill payment
  • MERCHANT - Product payment
  • VOUCHER - Voucher purchase
  • WITHDRAWAL - Wallet withdrawal
countryIsoCode3
string
required
Three-letter ISO country code (e.g., “USA”, “GBR”, “NGA”)
currency
string
Three-letter currency code (e.g., “USD”, “GBP”, “NGN”). Required if PCN is not provided.
amount
string
Payment amount as string. Required if PCN is not provided.
appId
string
Application identifier for specific integrations
transactionType
enum
Specific transaction type filterOptions:
  • ACCOUNTPAYMENT - Bank transfer
  • CASHPICKUP - Cash pickup
  • MOBILE_MONEY - Mobile money
  • WALLET - Wallet payment
  • BILL_PAYMENT - Bill payment

Code Examples

curl --request POST \
  --url https://remitjunction.fincode.software/api/v6/services/paymentmanagement/supported-payment-methods \
  --header 'Content-Type: application/json' \
  --header 'X-Auth-Token: your_auth_token' \
  --header 'uuid: device_uuid' \
  --header 'platform: WEB' \
  --data '{
    "pcn": "PCN123456789",
    "payAbleType": "TRANSACTION",
    "countryIsoCode3": "USA"
  }'

Use Cases

1. Display Payment Options

Use this endpoint to show customers all available payment methods:
// Fetch payment methods
const methods = await getPaymentMethods(pcn, 'TRANSACTION');

// Display to user
methods.data.paymentMethodsMetadata.forEach(method => {
  console.log(`${method.paymentMethodLabel}: ${method.totalAmount}`);
});

2. Pre-calculate Total Amount

Calculate the total amount before payment:
const response = await getPaymentMethods(pcn);
const { principal_amount, fee, tax, fx_rate } = response.data;

console.log(`Amount: ${principal_amount}`);
console.log(`Fee: ${fee}`);
console.log(`Tax: ${tax}`);
console.log(`Total: ${principal_amount + fee + tax}`);
console.log(`You will receive: ${principal_amount * fx_rate}`);

3. Check Wallet Balance

Determine if customer has sufficient wallet balance:
const methods = await getPaymentMethods(pcn);
const walletMethod = methods.data.paymentMethodsMetadata
  .find(m => m.paymentMethod === 'E_WALLET');

if (walletMethod && walletMethod.metadata.sufficient) {
  // Show wallet as primary option
  showWalletPayment(walletMethod);
} else {
  // Show alternative methods
  showOtherMethods(methods.data.paymentMethodsMetadata);
}