ACME Payments documentation is a draft & work in progress.  Updates may be published periodically.


Sale Transaction

This API is used in order to charge a customer for a set amount.

This API depends on having a Token and a Charge object.  

Once you have a token, you can use the sale API to charge the customer.  After completing the sale you can use the Refund API in order to cancel the transaction. 

POST v2/payment/{mid}/sale

Request Parameters

The merchant id of the seller performing the sale.

Request Body

Include a SaleRequest object as the body of the request.

Sample Request



Returns a SaleResponse object.  Error

SaleRequest Object

tokenstringEither a single use or a multi use tokenRequired
chargeCharge object (see below)The charge object for this sale.  The amount is requiredRequired

Charge Object

amountnumberThe amount of money the sale or refund is for.  2 decimal places are supported Required

SaleResponse Object

orderIdnumberThe order to which the charge is being applied.  
saleIdstringUnique identifier for this transaction

Sample Request Body

  "token" : "123-456-789",
  "charge": {
    "amount" : 50.00

Sample Response Body

Successful Sale Transaction 

   "saleId": "sale_123-abc-456",
   "orderId" : 123456

Failed Sale Transaction 

    "message": "Please enter the correct ZIP / Postal Code for your credit card",
    "errorCode": 6107,
    "type": "INCORRECT_ZIP",
    "processorErrorCode": "incorrect_zip",
    "processorErrorMessage": "The zip code you supplied failed validation.",
    "issuingErrorCode": "incorrect_zip",
    "issuingErrorMessage": "The zip code you supplied failed validation."