Skip to main content

Financial Process Exchange (FPX)

Features
MethodOn the bank/wallet, Async - POST Redirect
CountriesMalaysia
Processing currenciesMYR
Increments-
Captures-
Partial/Multiple partial captures-
Cancels-
Partial/Multiple partial cancels-
Refunds
Partial/Multiple partial refunds
Recurring-
Installments-
Credits-
Disputes
Min AmountThe min amount depends on the type of service (B2C or B2B). For B2C: 1.01, for B2B: 2.01.
Account verification-

Financial process exchange (FPX) is a payment service offered by Paynet in Malaysia that allows online payments using consumer authentication through their own banks.

Payment flow

FPX flow

Required constraints

The bank code needs to be specified.

Bank codes

BankpaymentMethod.fpx.bank.code
Affin Bankaffin_bank
Affin Maxaffin_max
Agrobankagrobank
Alliance Bankalliance_bank
AmBankambank
Bank Islambank_islam
Bank Muamalatbank_muamalat
Bank Of Chinabank_of_china
Bank Rakyatbank_rakyat
Bank Simpanan Nasionalbank_simpanan_nasional
BNP Paribasbnp_paribas
CIMB Bankcimb_bank
Citibankcitibank
Deutsche Bankdeutsche_bank
Hong Leong Bankhong_leong_bank
HSBC Bankhsbc_bank
Kuwait Finance Housekuwait_finance_house
Maybankmaybank
OCBC Bankocbc_bank
Public Bankpublic_bank
Public Bank Enterprisepublic_bank_enterprise
RHB Bankrhb_bank
Standard Chartered Bankstandard_chartered_bank
United Overseas Bankunited_overseas_bank
United Overseas Bank Regionalunited_overseas_bank_regional

Payments

Request

{
"processingAccountId": "2HdN2jq6XWmlkhqRC2gDTNYCvNH",
"merchantReference": "B2A8734D-9450-4915-A63D-FE5C21F09550",
"amount": {
"value": 200,
"currency": "myr"
},
"paymentMethod": {
"type": "fpx",
"fpx": {
"returnUrl": "https://merchant.site/complete-payment",
"bank": {
"code": "public_bank"
}
}
}
}

Response

{
"id": "27yid4NOKj243ewwNzNM8afxrzp",
"merchantReference": "B2A8734D-9450-4915-A63D-FE5C21F09550",
"status": "pending",
"trackingUrl": "/v1/tracks/payments/{trackId}",
"reason": {
"code": "required_next_step",
"description": "An additional step is needed to complete the payment."
},
"nextStep": {
"type": "redirect",
"redirect": {
"method": "post",
"url": "https://payment.method.bank/complete",
"params": [
{
"name": "param1",
"value": "value1"
},
{
"name": "param2",
"value": "value2"
}
]
}
}
}