Financial Process Exchange (FPX)
| Features | |
|---|---|
| Method | On the bank/wallet, Async - POST Redirect |
| Merchant countries | Malaysia |
| Consumer countries | Malaysia |
| Processing currencies | MYR |
| Increments | - |
| Captures | - |
| Partial/Multiple partial captures | - |
| Cancels | - |
| Partial/Multiple partial cancels | - |
| Refunds | ✅ |
| Partial/Multiple partial refunds | ✅ |
| Recurring | - |
| Installments | - |
| Credits | - |
| Disputes | ✅ |
| Min Amount | The 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

Required constraints
The bank code needs to be specified.
Bank codes
| Bank | paymentMethod.fpx.bank.code |
|---|---|
| Affin Bank | affin_bank |
| Affin Bank B2B | affin_bank_business |
| AffinMax | affin_max_business |
| AGRONet (Retail) | agrobank |
| AGRONetBIZ (Corporate) | agrobank_business |
| Alliance Bank (Personal) | alliance_bank |
| Alliance Bank (Business) | alliance_bank_business |
| AmBank | ambank |
| AmBank (Business) | ambank_business |
| Bank Islam | bank_islam |
| Bank Islam (B2B) | bank_islam_business |
| Bank Muamalat | bank_muamalat |
| Bank Muamalat (Business) | bank_muamalat_business |
| Bank of China | bank_of_china |
| Bank Rakyat | bank_rakyat |
| Bank Rakyat (Business) | bank_rakyat_business |
| Bank Simpanan Nasional | bank_simpanan_nasional |
| BNP Paribas Business | bnp_paribas_business |
| CIMB Clicks | cimb_bank |
| CIMB Bank (Business) | cimb_bank_business |
| Citibank Corporate Banking | citibank_business |
| Deutsche Bank Business | deutsche_bank_business |
| Hong Leong Bank | hong_leong_bank |
| HLB ConnectFirst | hong_leong_bank_business |
| HSBC Bank | hsbc_bank |
| HSBC Business Banking | hsbc_bank_business |
| Kuwait Finance House | kuwait_finance_house |
| KFH Business | kuwait_finance_house_business |
| Maybank2U | maybank |
| Maybank2E | maybank_business |
| OCBC Bank | ocbc_bank |
| OCBC Bank (Business) | ocbc_bank_business |
| Public Bank | public_bank |
| Public Bank (Business) | public_bank_business |
| Public Bank PB Enterprise | public_bank_enterprise_business |
| RHB Bank | rhb_bank |
| RHB Bank (Business) | rhb_bank_business |
| Standard Chartered Bank | standard_chartered_bank |
| Standard Chartered Business | standard_chartered_bank_business |
| UOB Bank | united_overseas_bank |
| UOB (Business) | united_overseas_bank_business |
| UOB Regional (Business) | united_overseas_bank_regional_business |
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"
}
]
}
}
}