Get Receipt PDF
Retrieve the PDF representation of the receipt for a given payment in base64 format. Provide paymentId and optionally isForMerchant (default: true): true = merchant copy, false = customer copy.
Headers
key-hashSecurity key hash issued to your integration (merchant dashboard: Administration → Security Keys).
Get Receipt PDF › Request Body
paymentIdThe ID of the payment to which the PDF will be generated
clientIdIgnored. Derived from your API key (key-hash).
isForMerchantIndicates if payment receipt is for merchant (true) or customer (false)
Get Receipt PDF › Responses
PDF generated. data.pdfData holds the base64-encoded PDF (data.encodeType = base64).
Get surcharge rate
Calculate the surcharge/fee rate for a given card BIN and amount. Returns the surcharge amount, rate, type, and card brand. Use this before charging to display the final amount to customers. binCard is the first 6 digits of the card — derive it from the masked card.number returned by the tokenization callback. tokenId is the single-use payment token. On the Strictly gateway BOTH must be sent (tokenId required, binCard non-empty). This call does not consume the token.
query Parameters
amountInteger amount in cents (e.g. 1000 = $10.00). Supports up to eight digits.
binCardFirst 6 digits of the card (BIN). Derive from the masked card.number returned by the tokenization callback.
clientIdIgnored. Derived from your API key (key-hash).
tokenIdSingle-use payment token from tokenization. Required on the Strictly gateway (together with binCard). Not consumed by this call.
Headers
key-hashSecurity key hash issued to your integration (merchant dashboard: Administration → Security Keys).
Get surcharge rate › Responses
Rate info returned.
Charge a card
Create a payment and immediately flag it for settlement when capture=true (default). A payment can be made for a card or for an existing customer vault. Set capture=false to issue a pre-authorization only — call /capture separately to settle.
Customer vault: If charging a customer vault, the system uses the default payment method. Override with overrideDefaultPaymentMethod set to the desired customerVaultId.
Dual-pricing accounts: amount represents the card price; no surcharge or discount applies for Regular/Dualpricing accounts.
Sandbox/test mode: Use token 00000000-000000-000000-000000000000 to speed up integration without hitting the network.
To trigger a declined response (sandbox): Pass an amount below 100 (less than $1.00).
bypassSurcharge: Set to true to remove surcharge for exceptions.
card.number must be the masked card number from the tokenization form (e.g. 411111******1111), regex: \d{6}[*\.]+\d{4}. When charging with a token (no card.vaultId), card.number is required in addition to card.paymentToken (error code 905 otherwise). With card.vaultId neither is needed.
Surcharge: send the base amount only. The surcharge is computed server-side from amount and the card BIN and added to the charged total, also when charging with card.paymentToken. Sending a pre-surcharged total applies it twice.
Error codes: 901 = card or payment method required, 902 = VaultId or PaymentToken required, 904 = transaction type not allowed for the merchant, 905 = card number required, 906 = customer not found. These are returned with the code as the HTTP status (e.g. HTTP 905) and as a numeric response.code, with the reason in response.text. Such statuses are outside the standard 100–599 range and some HTTP clients surface them as a transport error instead of a response.
Headers
key-hashSecurity key hash issued to your integration (merchant dashboard: Administration → Security Keys).
user-agentRecorded on the transaction for auditing; not validated.
Charge a card › Request Body
amountA positive integer representing how much to charge in the smallest currency unit
clientIdIgnored. Derived from your API key (key-hash).
overrideDefaultPaymentMethodThe id of the payment method to use in the charge
currencyThree-letter ISO currency code, uppercase. Must be a supported currency
captureWhether to immediately capture the charge
sendReceiptsend Receipt info
bypassSurchargeUsed to remove surcharge amount for exceptions
discountA positive integer representing how much to discount in the smallest currency unit
marketTypeMarket Type
zipCodeZip code
taxesTaxes amount or list of taxes
Charge a card › Responses
Charge created.
Refund a payment
Post a refund on a previously captured payment. Funds are returned to the original credit/debit card. You can refund the full amount or only a portion. Multiple partial refunds are allowed until the charge is fully refunded. Attempting to refund a fully-refunded payment will result in an error. amount is an integer in cents (1000 = $10.00).
Refunds require a settled payment — unsettled payments must be voided (POST /void) instead.
Set receipt=true to send a refund receipt; email/phoneNumber override the payment contact.
The response also includes a card object (cardType, last4, exp, type) describing the refunded card.
Headers
key-hashSecurity key hash issued to your integration (merchant dashboard: Administration → Security Keys).
user-agentRecorded on the transaction for auditing; not validated.
Refund a payment › Request Body
amountInteger amount in cents (1000 = $10.00). Must not exceed the remaining refundable balance; when transactionComponent is base it is the pre-tax base amount.
paymentIdID of the payment to be refunded.
reasonRequired. Free-text reason; recommended values: duplicate, fraudulent, requested_by_customer.
transactionComponentTransaction component to refund. Possible values are base, donation, tip. Defaults to base when not sent.
receiptSend a refund receipt (email/SMS). Default false.
emailEmail for the refund receipt. Defaults to the payment contact email.
phoneNumber^[+]?[(]?[0-9]{3}[)]…Phone number for the refund receipt (SMS). Defaults to the payment contact phone.
Refund a payment › Responses
Refund processed.
Void a payment
Void an existing payment that has not yet been settled. Once voided, no additional charges can be made. For settled/captured payments, use the refund endpoint instead.
reason values: fraud, user_cancel, icc_rejected, icc_card_removed, icc_no_confirmation, pos_timeout, rejected, insufficient_funds, incorrect_information, pop_timeout.
Set receipt=true to send a receipt notification to the customer via email or SMS; email/phoneNumber override the payment contact.
The user-agent header is recorded on the void transaction but not validated.
400 errors share the same status; distinguish them by response.text: This payment can not be voided because it has been settled already, Not found a transaction with id: ....
Headers
key-hashSecurity key hash issued to your integration (merchant dashboard: Administration → Security Keys).
user-agentRecorded on the transaction for auditing; not validated.
Void a payment › Request Body
paymentIdID of the payment to void
reasonVoid reason
paymentPayment type hint (creditcard | electronicCheck). Currently not used by the void flow.
receiptSend a void receipt (email/SMS). Default false.
emailEmail for the void receipt. Defaults to the payment contact email.
phoneNumber^[+]?[(]?[0-9]{3}[)]…Phone number for the void receipt (SMS). Defaults to the payment contact phone.
Void a payment › Responses
Payment voided.
Capture a pre-authorized payment
Flag a pre-authorized payment for settlement. Only payments in status auth (created with capture=false and not yet captured or voided) can be captured. You can capture an amount equal to or less than the original pre-authorization. Uncaptured payments are not posted to the account until a settlement runs (by default, daily).
Receipt: when the original payment was created with sendReceipt=true and has a contact email, a receipt is sent automatically; receipt, email and phoneNumber are ignored on capture.
Processor declines may be returned with HTTP 201 and error: true in data; always check data.error.
Headers
key-hashSecurity key hash issued to your integration (merchant dashboard: Administration → Security Keys).
user-agentRecorded on the transaction for auditing; not validated.
Capture a pre-authorized payment › Request Body
amountBase amount to capture in cents (pre-tax, before card fee/surcharge). Tax and surcharge are computed server-side from the payment order.
paymentIdID of the payment that must be captured.
Capture a pre-authorized payment › Responses
Payment captured.
Get terminal acknowledgment
Returns the merchant surcharge acknowledgment (disclosure) text with the merchant credit rate filled in, for display in terminal flows. type controls the response format: json (default, one paragraph per key) or text (paragraphs joined). The response is not wrapped in data.
query Parameters
clientIdIgnored. Derived from your API key (key-hash).
typeResponse format — json (default) or text
Headers
key-hashSecurity key hash issued to your integration (merchant dashboard: Administration → Security Keys).
Get terminal acknowledgment › Responses
Acknowledgment data returned.
API get single payment
Retrieve a single payment record by ID. There is no list endpoint under /payment; use GET /public/transactions to list payments.
path Parameters
idPayment ID
Headers
key-hashSecurity key hash issued to your integration (merchant dashboard: Administration → Security Keys).
API get single payment › Responses
Payment returned.
Bulk charge (async)
Create a payment from a customer vault for each entry in the payments array. Equivalent to calling /charge for a customer multiple times. Processed asynchronously via a Pub/Sub queue — the response only confirms the job was queued. Poll individual payment IDs to check each charge result.
Required per-item fields: amount, customerVaultId. Optional: bypassSurcharge (true/false) to remove surcharge for exceptions.
Headers
key-hashSecurity key hash issued to your integration (merchant dashboard: Administration → Security Keys).
user-agentRecorded on the transaction for auditing; not validated.
Bulk charge (async) › Request Body
List of charges to run
clientIdIgnored. Derived from your API key (key-hash).
sendReceiptsend Receipt info
Bulk charge (async) › Responses
Bulk charge job queued.

