Payments
Create one-time charges and look them up by ID. Supports both hosted payment pages (HPP) and saved-card token flows.
A Payment represents one attempted charge against a customer's card. Every payment starts in created and ends in a terminal state (succeeded, failed, refunded, or voided) — the full state machine is in Concepts → Payments.
Create a payment
Create a payment.
Authentication: Basic Auth (public_key:secret_key) with merchant role.
In: header
to the button: amount, currency, merchant and environment must match it. Implies applePayOnly: true; cannot be combined with cardToken.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sandbox.mintcash.me/payments" \ -H "Content-Type: application/json" \ -d '{ "amount": 0, "currency": "string", "customer": { "email": "string", "externalId": "string", "name": "string" }, "externalId": "string" }'{
"amount": 0,
"amountRefundable": 0,
"amountRefunded": 0,
"checkoutToken": "string",
"createdAt": "string",
"currency": "string",
"externalId": "string",
"id": "string",
"instrument": "string",
"processor": "string",
"providerTransactionId": "string",
"redirectUrl": "string",
"status": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}Retrieve a payment
Get a payment by ID.
Authentication: Basic Auth (public_key:secret_key) with merchant role.
In: header
Path Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sandbox.mintcash.me/payments/string"{
"amount": 0,
"amountRefundable": 0,
"amountRefunded": 0,
"checkoutToken": "string",
"createdAt": "string",
"currency": "string",
"externalId": "string",
"id": "string",
"instrument": "string",
"processor": "string",
"providerTransactionId": "string",
"redirectUrl": "string",
"status": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}Create a wallet button
Mints a standalone Apple Pay button before any payment exists. Pass its token back as walletToken on POST /payments once the customer taps.
Mint a deferred Apple Pay button.
Nothing is persisted: the button renders from a signed token carrying the merchant, environment, amount and currency, valid for 15 minutes. Create the payment only after the shopper taps, passing the token back as walletToken on POST /payments.
Authentication: Basic Auth (public_key:secret_key) with merchant role.
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sandbox.mintcash.me/wallet-buttons" \ -H "Content-Type: application/json" \ -d '{ "amount": 0, "currency": "string" }'{
"expiresAt": "string",
"token": "string",
"url": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}{
"code": "not_found",
"details": {},
"message": "string"
}Authentication
Every request is authenticated with HTTP Basic Auth using your API key pair. Use test keys against the sandbox, live keys against production — never mix the two.
Subscriptions
Recurring billing. Create a subscription, query its status, or cancel it. Retries and email notifications are handled for you.