Payment methods

List the card providers your buyers can pay with, which ones you turned off, each one's minimum and where it serves, and what Smart Routing would offer for an amount, so your own checkout shows the same choices.

On this page

The payment method object

A payment method is one card provider your buyers can pay through. The list holds every card provider Railbed offers, in a fixed order, including the ones you turned off under Integrations → Card providers in the dashboard. A provider is offered to buyers only while its status is available and merchant_off is false.

FieldTypeDescription
idstringThe provider's id, such as stripe. The same id names it on a started session's providers
namestringIts name, as buyers see it
notestringHow buyers pay with it, as the buyer's list says
statusstringavailable, or unavailable while it's down, paused by Railbed or not working. In Live mode, Apple Pay and Google Pay stay unavailable until your payout wallet is confirmed for other networks
minimumobject or nullIts smallest payment in its own currency, as { amount, currency }, or null when it isn't known. Apple Pay and Google Pay show today's line, which moves with network costs
regionsarray or nullWhere its buyers must be, such as ["US"], or null for no known limit
merchant_offbooleantrue when you turned it off. Buyers are never offered it, in either mode
A payment methods list, shortened to three providers
{
  "object": "list",
  "data": [
    {
      "id": "stripe",
      "name": "Stripe",
      "note": "Card, Apple Pay or Google Pay",
      "status": "available",
      "minimum": {
        "amount": "2.00",
        "currency": "USD"
      },
      "regions": [
        "US",
        "EU"
      ],
      "merchant_off": false
    },
    {
      "id": "paypal",
      "name": "PayPal",
      "note": "PayPal balance or card",
      "status": "available",
      "minimum": {
        "amount": "5.00",
        "currency": "USD"
      },
      "regions": [
        "US"
      ],
      "merchant_off": true
    },
    {
      "id": "cashapp",
      "name": "Cash App",
      "note": "Cash App balance or card",
      "status": "available",
      "minimum": {
        "amount": "2.00",
        "currency": "USD"
      },
      "regions": [
        "US"
      ],
      "merchant_off": false
    }
  ]
}
200 OK

List payment methods

GET /v1/payment_methods

Returns every card provider in the key's mode. Test mode reads a fixed list, so its answers don't change; Live mode reads the current one.

ParameterTypeDescription
amountstringA decimal string from "1.00" to "100000.00". With it, the answer adds offered
currencystringWith amount: USD, EUR, GBP, CAD or AUD. Default USD
countrystringWith amount: the buyer's two-letter country, such as US, if you know it. Never your server's own
curl "https://pay.railbed.io/v1/payment_methods?amount=25.00&currency=USD&country=US" \
  -H "Authorization: Bearer $RAILBED_SECRET_KEY"

With amount, offered is what Smart Routing would offer a buyer for that amount right now, best first, at most eight, each with id, name, note and recommended. It leaves out the providers you turned off and those that can't take the amount, the currency or the buyer's country. Nothing is created and no payment is started. It's a preview, not a promise: starting a session decides again, and the provider decides at hand-off.

Response with an amount, shortened
{
  "object": "list",
  "data": [
    {
      "id": "stripe",
      "name": "Stripe",
      "note": "Card, Apple Pay or Google Pay",
      "status": "available",
      "minimum": {
        "amount": "2.00",
        "currency": "USD"
      },
      "regions": [
        "US",
        "EU"
      ],
      "merchant_off": false
    },
    {
      "id": "paypal",
      "name": "PayPal",
      "note": "PayPal balance or card",
      "status": "available",
      "minimum": {
        "amount": "5.00",
        "currency": "USD"
      },
      "regions": [
        "US"
      ],
      "merchant_off": true
    },
    {
      "id": "cashapp",
      "name": "Cash App",
      "note": "Cash App balance or card",
      "status": "available",
      "minimum": {
        "amount": "2.00",
        "currency": "USD"
      },
      "regions": [
        "US"
      ],
      "merchant_off": false
    }
  ],
  "offered": [
    {
      "id": "stripe",
      "name": "Stripe",
      "note": "Card, Apple Pay or Google Pay",
      "recommended": true
    },
    {
      "id": "cashapp",
      "name": "Cash App",
      "note": "Cash App balance or card",
      "recommended": false
    },
    {
      "id": "robinhood",
      "name": "Robinhood",
      "note": "Card or Robinhood account",
      "recommended": false
    }
  ]
}
200 OK
ErrorCause
400 invalid_amountamount isn't a decimal string from "1.00" to "100000.00", or currency or country was sent without it
400 invalid_currencycurrency isn't one of the five
400 invalid_countrycountry isn't a two-letter code

Turning providers off

You turn providers off in the dashboard, under Integrations → Card providers, with Offer to buyers. Only the account's owner can change it, and the change applies to both modes and to every way buyers pay: checkout pages, payment links, sessions you create here, Shopify and WooCommerce. At least one card provider stays on.

Checkouts and stores set to send buyers to the provider you're turning off are moved in the same step, to Smart Routing or another provider you choose; keeping the provider on leaves them as they are.

Turning providers off also changes the provider minimums your amounts are checked against: only the providers you offer count, so the smallest payment you can take may rise. A checkout later set to send buyers to one provider you turned off sends them to Smart Routing's pick instead when it falls back, and stops them when it doesn't.

Access

Listing payment methods needs the payments:read scope, which Read only keys have.

Updated · This page as Markdown