Retrieve payment options
Returns what a shopper can pay with on your account for a payment with no cart or invoice: your currencies, the best currency for the caller's location, the payment methods and card types in a currency, and the customer fields to collect. For a cart, use GET /carts/{cart_id}/options instead. Any token type may call it.
AuthorizationBearer <token>A secret, trusted or limited token. See Authentication.
currency?stringThe ISO 4217 currency to list payment methods for. Must be one your account takes (400 otherwise). Defaults to your default payment currency.
expand?stringComma-separated child objects to return in full instead of as a URL, for example customer,payments. Use dot notation for nested objects (items.product), up to four levels deep. A single object takes up to 12 paths; a list takes up to 2, applied to every item. Extra paths are dropped without an error. See Expanding objects.
show?stringComma-separated fields to return; all others are left out. Use dot notation for child fields (customer.email). You cannot send show and hide together (400). See Customizing output.
hide?stringComma-separated fields to leave out of the response. Use dot notation for child fields (customer.email). You cannot send show and hide together (400). See Customizing output.
formatted?booleanWhen true, the object also has a formatted child with amounts and dates as display text in the shopper's language and currency (for example $19.99 or November 7, 2026). The default is false. See Localized formatting.
falseuser_ip_address?stringThe shopper's IP address, when your server calls with a secret token on the shopper's behalf. Comecero uses it for fraud checks and to find the shopper's country. Only read for a secret token: for every other token the address the request comes from is used. A value that is not a valid IPv4 or IPv6 address is ignored.
The payment options.
application/json- response
What a shopper can pay with on your account, for a payment with no cart or invoice: currencies, payment methods, card types and the customer fields to collect.
account_id*stringYour account.
test*booleanTrue for test mode.
currencies*array<>The currencies your account takes.
customer_default_currency*|The best currency for the caller's location among those you take.
customer_default_country*|The country of the caller's IP address.
payment_methods*array<>The payment methods available in the requested currency, or your default one.
card_types*array<string>The card brands taken in that currency.
customer_required_fields*array<string>The customer fields that must be sent with a payment, in dot notation.
customer_optional_fields*array<string>The customer fields you may also collect.
allowed_customer_countries*array<string>The countries a customer may be in.
curl -X GET 'https://api.comecero.com/api/v1/payments/options'{ "account_id": "AB1234", "test": true, "currencies": [ { "code": "USD", "name": "US Dollar" }, { "code": "EUR", "name": "Euro" } ], "customer_default_currency": "USD", "customer_default_country": "US", "payment_methods": [ { "payment_method_type": "credit_card", "surcharge": 0, "currency": "USD", "paypal_fraudnet_source_id": null, "stripe_publishable_key": null, "stripe_account_id": null, "finix_card_form": null } ], "card_types": [ "Visa", "MasterCard" ], "customer_required_fields": [ "name", "email", "billing_address.country" ], "customer_optional_fields": [ "phone" ], "allowed_customer_countries": [ "US", "CA" ]}Create a payment POST
Charges a customer an amount you set, with no cart or invoice. Send `currency` and one of `total`, `subtotal` or `shipping`; amounts cannot be negative. To pay for a cart or an invoice, use `POST /carts/{cart_id}/payments` or `POST /invoices/{invoice_id}/payments` instead. An account on the reseller model can only use this to add to a customer's balance (`apply_to_balance`). A live payment needs a live account (`422`). Any token type may call it. A limited token is bound to the payment it makes, and a limited test token only works when its user may make test payments. `capture` is ignored for a limited token. The answer is `201` with `status` `completed`, `pending` (authorized only), `processing` or `initiated` (the shopper must act: see `response_data`, then commit it while it is still `initiated`). A declined payment is `402` with the payment in `error.meta.payment`. The same payment sent again soon after a success is `409` (code `duplicate`).
Retrieve a payment GET
Returns a payment. Read it to see where an `initiated` or `processing` payment is. Any token type may call it; a limited token only for a payment it is bound to, and without the gateway and settlement fields.