Payment options

Payment options tell you which payment methods, such as card, apple_pay, google_pay, or affirm, are available for a given transaction, and when one is not, exactly why. Resolve them for a specific context (amount, currency, buyer and billing country, capture method, and whether the payment is recurring or off-session) or for a stored source like a checkout_session, payment_link, invoice, subscription, or order.

Each resolved option reports a status of available or unavailable. Unavailable options carry a machine-readable reason, such as merchant_payments_disabled, capability_pending, requirements_due, amount_out_of_range, currency_not_supported, or country_not_supported, so you can explain or remediate rather than showing an empty payment form. This is the surface behind the most common checkout support question: "why are no payment methods showing?"

Affirm requires a US buyer and charging account, USD, $50.00 through $30,000.00, one-time on-session use, and one full payment with automatic or full manual capture. It is not supported for B2B sales, pre-orders, unavailable goods, subscription invoices or any recurring collection, saved credentials, off-session use, virtual terminal, donations, pay-what-you-want links, or split tender. Flint enforces the authoritative facts it receives. Your integration must not offer Affirm when an eligibility fact that Flint does not receive makes the purchase ineligible. See the Affirm guide for collection, return, retry, messaging, and refund behavior.

requirements_due, capability_pending, and merchant_payments_disabled point at account setup rather than the transaction. Check the merchant's readiness before charging so onboarding gaps surface early instead of at checkout.

Resolve payment options#

POST/v1/payment-options/resolveRequires scope: payments.payment_options.read

Returns merchant-facing effective payment option availability for a checkout, payment link, or payment source context.

Request body
contextobject
payment_optionsarray of string
sourceobject
Response · 200
dataarray of objectrequired
metaobject
request_idstring

Error codes

AUTH_REQUIREDCONTEXT_NOT_FOUNDINSUFFICIENT_SCOPEINVALID_API_KEYINVALID_REQUESTRATE_LIMIT_EXCEEDEDRESOURCE_NOT_FOUNDSERVICE_UNAVAILABLE
Bash
curl -X POST https://api.withflintpay.com/v1/payment-options/resolve \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "context": {
      "allow_redirects": true,
      "amount_money": {
        "amount": 2500,
        "currency": "USD"
      },
      "buyer_country": "US",
      "capture_method": "automatic",
      "off_session": false,
      "recurring": false
    },
    "payment_options": [
      "card",
      "apple_pay",
      "google_pay"
    ],
    "source": {
      "type": "payment_intent"
    }
  }'
JSON
{
  "data": [
    {
      "configuration_sources": [
        "platform_policy",
        "payment_intent"
      ],
      "configured_enabled": null,
      "payment_option": "card",
      "status": "available"
    },
    {
      "configuration_sources": [
        "platform_policy",
        "payment_intent"
      ],
      "configured_enabled": null,
      "payment_option": "apple_pay",
      "status": "available"
    },
    {
      "configuration_sources": [
        "platform_policy",
        "payment_intent"
      ],
      "configured_enabled": null,
      "payment_option": "google_pay",
      "status": "available"
    }
  ],
  "request_id": "bce56cba-0827-44aa-bb56-4f200ba15ee6"
}
Rate this doc