Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
About Stripe payments
Upgrade your integration
Payments analytics
Online payments
OverviewFind your use caseManaged Payments
Use Payment Links
Build a checkout page
Build an advanced integration
Build an in-app integration
Payment Methods
Add payment methods
    Overview
    Payment method integration options
    Manage default payment methods in the Dashboard
    Payment method types
    Cards
    Bank debits
    Bank redirects
      Bancontact
      BLIK
      EPS
      FPX
        Accept a payment
      iDEAL
      Przelewy24
      Sofort
      TWINT
    Bank transfers
    Credit transfers (Sources)
    Buy now, pay later
    Real-time payments
    Vouchers
    Wallets
    Enable local payment methods by country
    Custom payment methods
Manage payment methods
Faster checkout with Link
Payment interfaces
Payment Links
Checkout
Web Elements
In-app Elements
Payment scenarios
Custom payment flows
Flexible acquiring
Orchestration
In-person payments
Terminal
Other Stripe products
Financial Connections
Crypto
Climate
HomePaymentsAdd payment methodsBank redirects

FPX payments

Learn about FPX, a common payment method in Malaysia.

Copy page

Financial Process Exchange (FPX) is a Malaysia-based payment method that allows customers to complete transactions online using their bank credentials. Bank Negara Malaysia (BNM), the Central Bank of Malaysia, and 11 other major Malaysian financial institutions are members of the PayNet Group, which owns and operates FPX. It’s one of the most popular online payment methods in Malaysia, with nearly 90 million transactions in 2018 according to BNM.

To pay with FPX, customers are redirected to their online banking environment where they have to perform two-step authorisation. The exact payment flow varies depending on the customer’s bank. The FPX payment flow is well understood and intuitive to Malaysian customers.

As part of being regulatory compliant, Stripe requires merchants to provide their Business Registration Number (BRN) to process FPX charges and receive payouts.

  • Customer locations

    Malaysia

  • Presentment currency

    MYR

  • Payment confirmation

    Customer-authenticated

  • Payment method family

    Authenticated bank debit

  • Recurring payments

    No

  • Refunds / Partial refunds

    Yes / Yes

  • Dispute support

    No

  • Manual capture support

    No

  • Connect support

    Yes

  • Payout timing

    5 business days

Payment flow

Watch a video

Customer selects FPX at checkout

Chooses bank and gets redirected

Customer enters account credentials

Customer completes authorization process

Customer gets notification that payment is complete

(Optional) Customer returns back to business’s site for payment confirmation

Get started

You don’t have to integrate FPX and other payment methods individually. If you use our front-end products, Stripe automatically determines the most relevant payment methods to display. Go to the Stripe Dashboard and enable FPX. To get started with one of our hosted UIs, follow a quickstart:

  • Checkout: Our pre-built, hosted checkout page.
  • Elements: Our drop-in UI components.

Other payment products

The following Stripe products also let you add FPX from the Dashboard:

  • Invoicing
  • Payment Links

If your integration requires manually listing payment methods, learn how to manually configure FPX as a payment.

Check out the FPX sample on GitHub.

Disputes

The risk of fraud or unrecognized payments is low because the customer must authenticate the payment with their bank. As a result, you won’t have disputes that turn into chargebacks, with funds withdrawn from your Stripe account.

Refunds

FPX payments can be refunded up to 60 days after the original payment. Refunds for FPX payments are asynchronous and take approximately 1 week to complete. We’ll notify you of the final refund status using the refund.updated or refund.failed webhook event. When a refund succeeds, the Refund object’s status transitions to succeeded. A refund can fail if the customer’s bank is unable to process it correctly (for example, the bank account is closed). In the rare instance that a refund fails, the Refund object’s status transitions to failed and we return the amount to your Stripe balance. You then need to arrange an alternative way of providing your customer with a refund.

Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access programme.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc