GuidesCheckoutManage Payments Methods

Manage Payment Methods

Okay, let’s break down how to manage payment methods with Fiablepay, keeping it simple and clear for everyone, and using a professional, well-formatted style.

Fiablepay: Controlling How Your Customers Pay

Imagine you’re running a shop. You want to offer your customers different ways to pay – maybe with a credit card, a direct bank transfer, or a specific local payment method. Fiablepay lets you do exactly that for your online transactions. You get to choose which payment options your customers see at checkout.

How It Works

Fiablepay looks at a few things to figure out which payment methods are possible for each transaction:

  • Buyer and Seller Locations: Where your customer is located and where you are located impacts available payment options.
  • Currency: The currency of the invoice affects the payment methods.
  • Transaction Amount: Some payment methods may have limits based on the amount.

Fiablepay has a tool (like a simulator) to show available payment methods. It also provides an API endpoint that gives you this information programmatically (the collect metadata endpoint).

Two Ways to Choose Payment Methods

You can control which payment methods your customers see in two ways when creating a checkout session with Fiablepay:

  1. payment_methods Field: This is like saying, “I only want to offer these payment methods.”
  2. remove_payment_methods Field: This is like saying, “I want to offer all available methods except these ones.”

1. Specifying Payment Methods (using payment_methods):

  • Concept: You explicitly list the payment methods you want to make available.

  • Example: Let’s say you want to offer only credit card and local bank transfer for Singapore (local_bank_transfer_sgd).

    {
      "payment_methods": ["card", "local_bank_transfer_sgd"]
    }

    This means only ‘Card’ and ‘local_bank_transfer_sgd’ options will be displayed in the checkout page

  • What to Remember:

    • If you put invalid payment methods here (like ["abc", "xyz"]), the system will return an error.
    • You should know the correct payment method codes before using them (like card, wire_transfer, local_bank_transfer_eur, etc.) 2. Filtering Payment Methods (using remove_payment_methods):
  • Concept: You list payment methods that you want to exclude, and Fiablepay will show everything else available.

  • Example: Suppose you want to exclude wire transfer and local bank transfer for Singapore.

    {
      "remove_payment_methods": ["wire_transfer", "local_bank_transfer_sgd"]
    }
  • What to Remember:

    • If you have both payment_methods and remove_payment_methods in the same request, payment_methods wins! The system will only use that field.

Clear Examples: A Netherlands Buyer Paying USD 500

Let’s say you have a customer in the Netherlands who needs to pay an invoice of $500 USD. The available payment methods for this scenario are:

  • bank_initiation_eur (Internet Banking)
  • card (Credit/Debit Card)
  • local_bank_transfer_eur
  • wire_transfer

Example 1: Only Card and Internet Banking

Here’s how you’d use the payment_methods field in your POST /v3/checkout API request to only display ‘card’ and ‘bank_initiation_eur’ options:

{
 "payment_methods": ["card", "bank_initiation_eur"]
}

Example 2: Exclude Local Bank Transfer and Wire Transfer

Here’s how you’d use the remove_payment_methods field to remove ‘local_bank_transfer_eur’ and ‘wire_transfer’ options:

{
  "remove_payment_methods": ["local_bank_transfer_eur", "wire_transfer"]
}

Key Points:

  • Use the Simulator/Metadata Endpoint First: Always confirm available payment methods for a buyer/seller combination before using these options.
  • Correct Codes: Use valid, correct payment method codes.
  • payment_methods takes priority: This field will supersede remove_payment_methods if both are provided.
  • Flexibility: Choose the method that best fits your needs. Do you want to select specific payment methods? Or simply hide a few that you don’t want to use?

Code Format:

The code snippets provided in this explanation are in JSON (JavaScript Object Notation) format. This is a standard way to exchange data in web applications. When you use the Fiablepay API, you’ll typically send your requests and receive responses in JSON format.