Mintcash
API reference

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.

POST
/payments
AuthorizationBasic <token>

In: header

amountnumber
applePayOnly?boolean
billing?
callbackUrl?string
cardToken?string
currencystring
customer
description?string
externalIdstring
metadata?
returnUrl?string
saveCardEnabled?boolean
walletToken?string

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.

GET
/payments/{paymentId}
AuthorizationBasic <token>

In: header

Path Parameters

paymentIdstring

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.

POST
/wallet-buttons
AuthorizationBasic <token>

In: header

amountnumber
currencystring

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"
}