ZenPayments
  1. Card Payments
ZenPayments
  • General Information
    • Authentication
    • Errors
    • Responses
    • Filters
      • Example - gte
      • Example - between
      • Example - like
      • Example - in
      • Example - non-empty
    • Pagination
      • 10 results per page
    • Data Types
  • Merchants
    • Sandbox
      • Sandbox Payment Gateway
    • Card Payments
      • Authorization
        POST
      • Sale
        POST
      • Capture
        POST
      • Partial Capture
        POST
      • Refund
        POST
      • Partial Refund
        POST
      • Soft/Dynamic Descriptor
        POST
      • Card Authentication
        POST
      • Card Tokenization
        POST
      • Card Tokenization with Global Token
        POST
      • Sale with a Fee Terminal
        POST
    • Hosted Form
      • Generate
      • Generate with Billing and Contact Information
    • Hosted Fields
      • How it Works
      • Hosted Fields Token
        • Hosted Fields Token
      • Integration Guide
        • Step 1: Include the JavaScript Library
        • Step 2: Add HTML Elements for all payment fields
        • Step 3: Set the AccessToken and Configure the rest of the form
        • Step 4: Add styling
        • Step 5: Listen for Events
        • Step 6: Get the tokenized card
          • Get the tokenized card
        • Add Payment Method Page
        • Testing your integration
    • CustomerVault
      • Sandbox
        • Sandbox Dashboard
      • Hosted Card Form
        • Generate
      • Customers
        • List
        • View
        • Create
        • Update
        • Archive
        • Delete
      • Cards
        • List Cards
        • View
        • Add Card
        • Update Exp Date
        • Archive
        • Unarchive
        • Delete
      • Billing Information
        • List
        • View
        • Update
        • Create
      • Shipping Information
        • List
        • View
        • Update
        • Create
      • Recurring Payment
        • List
        • View
        • Update
        • Create
    • Transaction Reporting
      • List
      • View
    • Response Codes
      • Verification Response Codes
    • 3DSecure
      • Version
      • Create
        • Create
      • Check
        • Check
      • Test Cards
    • Account Updater
      • Card Compatibility
      • How It Works
        • Sale with Account Updater
    • ACH Payments
      • General Information
      • Transactions
        • SEC Codes
        • Statuses
        • Actions
          • Action
        • History Log
          • Log
        • List
        • View
        • Create ACH
        • Create ACH & Save Customer
        • Create ACH for an existing Customer
        • Create ACH for an existing Customer and specific Account
        • Remove
      • Hosted Form
        • Example Request
      • Customers
        • List Customers
        • View specific Customer
        • Create Customer
        • Update Customer
        • Delete a Customer
      • Customer Accounts
        • List Customer Accounts
        • Create Customer Account
        • Update Customer Account
        • Delete a Customer Account
      • Bank Information
        • View
      • ACH Settlements
        • List
        • View
      • ACH Webhooks
        • New ACH Record
        • ACH Status Update
        • New ACH Customer
    • Reporting
      • Sandbox
        • Sandbox Dashboard
      • Authorizations
        • List
        • List with Filters
      • Batches
        • List
        • List with Filters
        • Summary
      • Payouts
        • List
        • View
        • Export
      • Chargebacks
        • Disputes
          • Upload a temporary file
          • Create a Dispute
          • Preview
          • Submit
        • Webhooks
          • Signatures
          • Events
            • Chargeback
              • New Chargeback Record
              • Chargeback Update
        • View
          • List
          • View
      • Statements
        • List
        • Download
      • Reserve
        • List
      • Fraud Report
        • Generate
      • Visa Verifi
        • Submiting External Transactions
          • Submit
        • List
      • Other Reports
        • Request a Report
        • Check Status
        • Download
    • Gateway Test Cards
  • Platforms
    • Sandbox
      • Sandbox Dashboard
    • Onboarding
      • Boarding Applications
        • Campaigns
          • List
        • Equipment
          • Terminals
            • List
            • View
          • View
          • Update
        • List
          • List Boarding Applications
        • Create
          • Create Boarding Application
        • Delete
          • Delete Boarding Application
        • View
          • View Boarding Application
        • Update
          • Update Boarding Application
        • Principals
          • List Principals
          • Create Principal
          • Update a Single Principal
          • Mass update Principals
          • Delete Principal
        • Processing
          • View Processing section
          • Update Processing section
        • Merchant Category Codes (MCCs)
          • List MCCs
        • ACH
          • View ACH section
          • Update ACH section
        • Documents
          • Attachment About
            • List All Document Categories
          • View all documents
          • MPA
          • Assign a single document
          • Assign multiple documents
          • Update a single document
          • Delete a single document
        • Fees
          • Types
            • List
          • Other Fees
            • Add
            • Update
            • Delete
          • List all fees
          • View a specific fee
          • Update a single fee
          • Update multiple fees
        • Bank Accounts
          • Add
          • Update
          • Change
        • Validate
          • Validate a Boarding Application
        • URL
          • GET URL of Boarding Application
        • Signature
          • Request E-sign
            • Request Signature
          • Embed E-sign
            • Embeded E-sign Example Flow 1
            • Embeded E-sign Example Flow 2
            • Request Embed
          • Manually Signing
            • Manual Sign
          • External eSign Signing
            • External eSign
        • Automation
          • AutoSign
            • Set AutoSign
          • AutoUnderwriting
            • Set AutoUnderwriting
        • Status
          • Set status to Underwriting
        • Notes
          • List
          • Create
      • Merchants
        • Terminals
          • List Terminals
          • View a specific Terminal
          • VAR Sheet
          • VAR View
        • List Merchants
      • DBA
        • List
        • View
      • Attachments
        • Temporary Upload
          • Temporary Upload
        • Chunk Upload
          • Initialize
          • Upload Request 1/2
          • Upload Request 2/2
        • Standard Upload
        • List attachments
        • View
        • View in browser
        • Download
        • Delete
      • Webhooks
        • Signatures
        • Events
          • Boarding Application
          • Merchant
            • Account
              • New Acquiring Account
              • New ACH Account
              • Closed Acquiring Account
              • Closed ACH Account
            • Terminal
              • New Terminal Record
              • Update Terminal Record
              • Delete Terminal Record
    • Reporting
      • Authorizations
        • List
        • List with Filters
      • Batches
        • List
        • List with Filters
        • Summary
      • Payouts
        • List
        • View
        • Export
      • Chargebacks
        • View
          • List
          • View
        • Disputes
          • Upload a temporary file
          • Create a Dispute
          • Preview
          • Submit
        • Webhooks
          • Signatures
          • Events
            • Chargeback
              • New Chargeback Record
              • Chargeback Update
      • Statements
        • List
        • Download
      • Reserve
        • List
      • Fraud Report
        • Generate
      • Other Reports
        • Request a Report
        • Check Status
        • Download
    • Residuals
      • List
      • View
    • Tickets
      • Update Ticket Status
        • Close
        • Re-Open
      • Responses
        • List
        • Create
        • Add an Attachment
      • Attachments
        • List
        • View
        • Create
        • Delete
      • Categories
        • List
      • Notes
        • List
        • View
        • Create
        • Update
        • Delete
        • Attachments
      • List
      • Create
      • View a specific ticket
    • Connect
      • Webhooks
        • Access Granted
        • Access Updated
        • Access Revoked
    • Misc
      • Address Checker
        • List Countries
        • List States
        • List Cities and Zip Codes
        • Filter by City and State
      • BIN Check
        • Get BIN Information
  1. Card Payments

Authorization

POST
/payment/auth
The Auth method initializes an authorization-only transaction. Authorization-only transactions are not included in the batch for settlement.
A separate capture request must be submitted in order for the transaction to be settled.
The suggested authorization period is 10 days. You need to capture a payment within the authorization period to collect the funds of the transaction. Note, the authorization period can vary by issuer and/or card brand, it is your responsibility to ensure whatever window period is appropriate for your use case.
It is important to note that these requests need to always include the system terminal.id for which you are making a payment.
Object
FieldsDescriptionTypeFilterableRequiredReadonlyLevel 1Level 2Level 3
idUnique ID of the payment recordIntegerYesNoYesNoNoNo
terminalTerminal ObjectObjectNoYesNo
terminal.idDashboard Terminal IDIntegerYesYesNoYesYesYes
amountPayment amountNumberNoYesNoYesYesYes
sourceTransaction source Internet, Phone and MailENUMYesYesNoYesYesYes
originOrigin of the transaction (i.e. Website, CRM, etc)StringYesNoNoNoNoNo
levelDesired level of the payment 1, 2 or 3ENUMYesYesNoYesYesNo
threeds3DS ObjectObjectNoYesNo
threeds.idThe ID that is returned from the 3DS responseIntegerNoYesNoYesYesYes
cardCard detailsObjectNoYesNo
card.nameCardholder nameStringNoConditionalNoYesYesYes
card.numberCard numberIntegerNoConditionalNoYesYesYes
card.cvvCard security code / CVVIntegerNoConditionalNoYesYesYes
card.expCard expiration date /Format: mm/yyStringNoConditionalNoYesYesYes
card.saveSave the card details for future use Yes or No. This will return a tokenENUMNoNoNoNoNoNo
card.storeYes or No. This indicates if the transaction is a Card On File (COF) or Merchant Initiated Transaction (MIT) type. For use with Visa onlyENUMNoNoNoNoNoNo
card.tokenCard token. This is used for saved card and for future billing.StringNoConditionalNoNoNoNo
card.verificationVerification objectObjectNoNoYes
card.verification.cvvThe card security code verification response.StringNoNoYesNoNoNo
card.verification.addressThe Address Verification System response.StringNoNoYesNoNoNo
card.addressCard billing address detailsObjectNoNoNo
card.address.countryCard billing countryStringNoNoNoYesYesYes
card.address.stateCard billing stateStringNoNoNoYesYesYes
card.address.cityCard billing cityStringNoNoNoYesYesYes
card.address.streetCard billing streetStringNoNoNoYesYesYes
card.address.zipCard billing zipStringNoNoNoYesYesYes
card.networkTransactionIdThis field is a unique network transaction identifier for all card types. If used in consecutive Visa/Mastercard transactions, it indicates the transaction is being processed using a card in the customer wallet.StringNoNoYesYesYesYes
contactContact objectObjectNoNoNo
contact.nameContact nameStringNoNoNoNoNoNo
contact.phoneContact phoneStringNoNoNoNoNoNo
contact.emailContact emailStringNoNoNoNoNoNo
sendReceiptSend receipt on Sale or Capture action. This parameter requires contact.email to be provided. Yes or No.ENUMNoNoNoNoNoNo
externalIdUnique record identifiers from a system outside of Payment GatewayStringYesNoNoNoNoNo
isRecurringSet this flag to Yes if the payment request comes from a recurring systemBooleanNoNoNoNoNoNo
splitIf this is a split Tender transaction. This will return an ID that needs to be provided in the next sequenceYes or NoStringNoNoNoYesYes
ipIP ObjectObjectNoNoNo
ip.addressCardholder IP addressStringYesNoNoNoNoNo
ip.ispInternet Service ProviderStringNoNoNoNoNoNo
ip.typeThe type of the IPStringNoNoNoNoNoNo
ip.locationIP location ObjectObjectNoNoNo
ip.location.cityCityStringNoNoNoNoNoNo
ip.location.stateStateStringNoNoNoNoNoNo
ip.location.countryCountryStringNoNoNoNoNoNo
ip.location.zipZIP CodeStringNoNoNoNoNoNo
ip.infoInfoObjectNoNoNo
ip.info.isAnonymousAnonymous CheckBooleanNoNoNoNoNoNo
ip.info.isAnonymousVpnAnonymous VPNBooleanNoNoNoNoNoNo
ip.info.isPublicProxyPublic ProxyBooleanNoNoNoNoNoNo
ip.info.isHostingProviderHosting Provider IPBooleanNoNoNoNoNoNo
ip.info.isTorExitNodeTor Exit Node of the IPBooleanNoNoNoNoNoNo
orderOrder detailsObjectNoNoNo
order.idPurchase orderStringNoNoNoNoYesYes
order.datePurchase order dateDateNoNoNoNoNoYes
order.invoiceOrder invoice numberStringNoNoNoNoNoYes
order.summaryCommodityCodeThe international description code of the overall goods/services being supplied.StringNoNoNoNoNoYes
order.descriptionAlso referred to as Soft Descriptor. The text on the cardholder's statement that describes the purchase. If the order.description is sent, it will be forwarded in the authorization and capture for all card types.StringNoNoNoNoYesYes
order.supplierRefNoSupplier reference numberStringNoNoNoNoYesNo
order.customerCustomer detailsObjectNoNoNo
order.customer.identifierCustomer reference identifierStringNoNoNoNoNoNo
order.customer.vatCustomer's government assigned tax identification numberStringNoNoNoNoNoNo
order.shippingOrder shipping detailsObjectNoNoNo
order.shipping.fromZipShipping from zip codeStringNoNoNoNoNoYes
order.shipping.toZipDestination zip codeStringNoNoNoNoYesYes
order.shipping.toCountryDestination county codeStringNoNoNoNoNoYes
order.shipping.costShipping costNumberNoNoNoNoNoYes
order.shipping.dutyCostShipping duty costNumberNoNoNoNoNoYes
order.taxOrder tax detailsObjectNoNoNo
order.tax.amountSales taxNumberNoNoNoNoYesYes
order.tax.detailsAdditional sales tax informationArrayNoNoNo
order.tax.details.typeThe type of sales tax appliedStringNoNoNoNoNoYes
order.tax.details.amountThe sales tax amount applied to the orderNumberNoNoNoNoNoYes
order.tax.details.rateTax rate (Allowed range 0.01-100)NumberNoNoNoNoNoYes
order.tax.details.categoryService, Duty, VAT, Alternate, National TaxExemptENUMNoNoNoNoNoYes
order.productsArray containing product objects. [Description of product object is shown below]ArrayNoNoNo
order.discountsOrder discounts detailsObjectNoNoNo
order.discounts.amountDiscounts amountNumberNoNoNoNoNoYes
order.discounts.detailsDiscountObjectNoNoNo
order.discounts.details.nameDiscount nameStringNoNoNoNoNoYes
order.discounts.details.amountDiscount amountNumberNoNoNoNoNoYes
order.discounts.details.percentageDiscount percentageNumberNoNoNoNoNoYes
order.discounts.details.priorityDiscount priorityIntegerNoNoNoNoNoYes
feeTransactionIn cases where a fee is run as a separate transaction on another terminalObjectNoNoYes
feeTransaction.idFee Transaction IDIntegerNoNoYesNoNoNo
feeTransaction.typeThe type of sales tax appliedStringNoNoYesNoNoNo
feeTransaction.amountThe sales tax amount applied to the orderNumberNoNoYesNoNoNo
batchObjectObjectNoNoYes
batch.idBatch IDIntegerYesNoYesNoNoNo
batch.numberBatch NumberIntegerNoNoYesNoNoNo
batch.batchedOnDate when batch was generatedDatetimeNoNoYesNoNoNo
statusStatus ObjectObjectNoNoYes
status.statusStatusStringYesNoYesNoNoNo
status.reasonDescriptionStringNoNoYesNoNoNo
If you pass the level parameter in your request, we will validate the field requirements of the level you have requested. In the event of an incomplete validation we will return an error with the missing fields.
If a transaction has a batch information in the response, this means that this transaction has batched.
Products Object
FieldsDescriptionTypeFilterableRequiredReadonlyLevel 1Level 2Level 3
idProduct IDStringNoNoNoNoNoYes
nameProduct NameStringNoNoNoNoNoYes
priceProduct PriceNumberNoNoNoNoNoYes
quantityProduct QuantityIntegerNoNoNoNoNoYes
measurementUnitProduct Measurment UnitStringNoNoNoNoNoYes
commodityCodeProduct commodity code. It should contain a maximum of 12 characters. Only letters, numbers and space are allowedStringNoNoNoNoNoYes

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Body Params application/json

Example
{
  "terminal": {
    "id": 24
  },
  "amount": "1.99",
  "source": "Internet",
  "level": 1,
  "card": {
    "name": "John Wick",
    "number": 5309572686772257,
    "exp": "12/30",
    "cvv": 998,
    "address": {
      "country": "United State of America",
      "state": "CA",
      "city": "Calabasas",
      "street": "8320",
      "zip": "85284"
    }
  },
  "contact":{
      "email": "test@testemail.com"
  },
  "sendReceipt": "Yes"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/payment/auth' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "terminal": {
    "id": 24
  },
  "amount": "1.99",
  "source": "Internet",
  "level": 1,
  "card": {
    "name": "John Wick",
    "number": 5309572686772257,
    "exp": "12/30",
    "cvv": 998,
    "address": {
      "country": "United State of America",
      "state": "CA",
      "city": "Calabasas",
      "street": "8320",
      "zip": "85284"
    }
  },
  "contact":{
      "email": "test@testemail.com"
  },
  "sendReceipt": "Yes"
}'

Responses

🟢200Auth
application/json
Body

Example
{
    "id": 876,
    "amount": "1.99",
    "origin": null,
    "type": "Auth",
    "level": 1,
    "authCode": "VTLMC1",
    "parent": {
        "id": null
    },
    "terminal": {
        "id": 24
    },
    "threeds": {
        "id": null
    },
    "card": {
        "bin": 530957,
        "name": "John Wick",
        "number": 2257,
        "exp": "2030-12-31",
        "verification": {
            "cvv": "M",
            "address": "Y"
        },
        "networkTransactionId": "1212MCC111863**"
    },
    "contact": {
        "name": null,
        "phone": null,
        "email": "test@testemail.com"
    },
    "externalId": null,
    "isRecurring": "No",
    "split": null,
    "refunded": false,
    "captured": false,
    "history": [],
    "order": null,
    "feeTransaction": null,
    "batch": {
        "id": null,
        "number": null,
        "batchedOn": null
    },
    "ip": {
        "address": "173.239.211.183",
        "isp": "Ipxo Limited",
        "type": "hosting",
        "location": {
            "city": "New York",
            "state": "NY",
            "country": "US",
            "zip": "10118"
        },
        "info": {
            "isAnonymous": "Yes",
            "isAnonymousVpn": "No",
            "isPublicProxy": "No",
            "isHostingProvider": "No",
            "isTorExitNode": "No"
        }
    },
    "status": {
        "status": "Approved",
        "reason": null
    },
    "updatedOn": "2023-05-09 15:23:44",
    "createdOn": "2023-05-09 15:23:44"
}
Modified at 2025-08-09 05:39:41
Previous
Card Payments
Next
Sale
Built with