ProCharge API Deprecated
The complete legacy ProCharge (“EPI Payment Service”) REST API – card transactions, tokenization, batching, Cygma reporting, ACH, gift cards, receipts, and invoices – transcribed in full from the published swagger specification.
Deprecation notice
Build new integrations on the platform’s current APIs instead:
- Cygma API – direct card payments, tokenization, Level II/III, and batch settlement (the switch ProCharge itself rides on).
- Merchant360 API – card + ACH payments, hosted checkout, invoices, subscriptions, customers, and webhooks.
Migrating an existing ProCharge integration? Email developers@electronicpayments.com and we’ll map your current calls to their modern equivalents.
Hosts & environments
The published specification pins the development servers shown on the right. Most endpoints live on the main API host; the transaction-lookup and BIN endpoints live on the ProCharge Service host, and the email/receipt endpoints live on the DeliverMe mail host – each such endpoint carries a Host badge below.
Existing production integrations keep using the production hosts they were issued with their credentials. Because the API is deprecated, production host details for new integrations are intentionally not published – if you believe you need them, contact developers@electronicpayments.com.
- Format: JSON in and out over HTTPS.
- Sandbox merchants:
518564990154510(Fiserv) and889901550594702(Cygma) – see mock testing.
# Main API (most endpoints) https://dev-api.procharge.com # ProCharge Service (transaction lookup + BIN data) https://dev-service.procharge.com/v1 # DeliverMe mail service (email + receipts) https://api-dev.deliverme.com
Authentication
The swagger spec defines three security schemes and lists them per endpoint without much explanation. Here is what each one actually is, where it comes from, and when you need it. In short:
bearerAuth– a JWT session token from a username/password login. The default way in for everything.ApiKeyAuth– a long-lived merchant application key in anx-api-keyheader. A server-to-server alternative to logging in.xAchAccessToken– a second, short-lived token that ACH endpoints require in addition to your bearer token.
bearerAuth – JWT bearer token
What it is: a JSON Web Token session credential. You obtain it by POSTing your ProCharge userName, passWord, PIN, and application name to /api/authentication/login. The response’s access_token field is prefixed with the literal string Bearer – strip that prefix and send only the JWT portion in the Authorization header:
Authorization: Bearer <jwt>
When you need it: every endpoint except the health check and the login itself accepts it, and several endpoint groups (payment log, batching, Cygma reporting, ACH authenticate, email) accept only bearer auth – no API-key alternative. Treat it as the default scheme.
If you don’t have credentials: ProCharge logins belonged to merchant accounts on the legacy platform and are no longer issued for new integrations. If you operate an existing ProCharge merchant and have lost your credentials, contact developers@electronicpayments.com. For anything new, use the Cygma or Merchant360 APIs instead.
# 1. Log in with your ProCharge credentials
curl -X POST "https://dev-api.procharge.com/api/authentication/login" \
-H "Content-Type: application/json" \
-d '{
"userName": "johndoe",
"passWord": "********",
"pin": "12345678",
"application": "procharge"
}'
# 2. The response carries an access_token of the form
# "Bearer eyJhbGciOi..." – strip the "Bearer " prefix
# and send the raw JWT on every subsequent request:
curl "https://dev-api.procharge.com/api/payment/log/1/25/2026-01-01/2026-01-31/all" \
-H "Authorization: Bearer eyJhbGciOi..."ApiKeyAuth – x-api-key header
What it is: a long-lived merchant application key – itself a JWT – sent in an x-api-keyrequest header. It identifies the merchant application without an interactive login, so it’s the scheme unattended server-to-server integrations used. It is an alternative to bearerAuth wherever an endpoint lists both (the swagger lists them as either/or).
When you need it: never strictly – every endpoint that accepts ApiKeyAuthalso accepts a bearer token. Use it when you can’t (or don’t want to) run the login flow. Note the card-transaction endpoint also recommends a merchantnumber header alongside it, and the transaction body separately carries an applicationKey field – three related but distinct identifiers.
Where it comes from:application keys were issued by EPI with the merchant’s ProCharge account. They cannot be self-served and are not issued for new integrations. The development-only key on the right (published in the swagger itself) works against the sandbox Cygma merchant 889901550594702 for testing.
# Server-to-server call with a merchant application key – # no interactive login step needed. curl -X POST "https://dev-api.procharge.com/api/transaction" \ -H "x-api-key: <merchant_application_key>" \ -H "merchantnumber: 889901550594702" \ -H "Content-Type: application/json" \ -d @sale.json # The spec publishes a DEVELOPMENT-ONLY testing key # (scoped to sandbox merchant 889901550594702): # eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6 # Ijg4OTkwMTU1MDU5NDcwMiIsInRva2VuIjoiIiwicm9sZXMiOlsidXNlciIsIm # 1lcmNoYW50IiwicHJvY2hhcmdlIl0sInBheWxvYWQiOnsiYXBpS2V5T25seSI6 # dHJ1ZSwiZGV2ZWxvcG1lbnRPbmx5Ijp0cnVlLCJyb3V0ZU5hbWUiOiJwcm9jaG # FyZ2UifSwiaWF0IjoxNzMwNDkyMTY0fQ.PWEaR00Cjc7ld2D9KCol5B4SI1up_ # 9BQSMpCXWoZwhk
xAchAccessToken – x-ach-access-token header
What it is: a second, ACH-specific access token sent in the x-ach-access-token header. The ACH subsystem is a separate service behind the main API, with its own token issuer – you trade your bearer session for an ACH token at GET /api/ach/authenticate.
When you need it: on every /api/ach/* endpoint except /api/ach/authenticateitself – customers, payments, payouts, refunds, prenote validations, and events. Per the spec: “All ACH requests must include this header as well asthe bearerAuth header.” It is additive, not an alternative – sending only a bearer token to an ACH endpoint returns 401.
Practical notes: the token is short-lived – fetch it at the start of an ACH session and refresh on 401. In Swagger UI the “Authorize” dialog sets it globally so you don’t paste it per request; in your own code just set both headers on your HTTP client for the ACH call path.
# 1. You already have a bearer token (see bearerAuth). # 2. Exchange it for an ACH access token: curl "https://dev-api.procharge.com/api/ach/authenticate" \ -H "Authorization: Bearer <access_token>" # 3. Send BOTH headers on every ACH call: curl -X POST "https://dev-api.procharge.com/api/ach/payment" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>" \ -H "Content-Type: application/json" \ -d @payment.json
Which endpoints need what
Per-endpoint auth badges appear on every endpoint below; this is the shape of it by group:
| Endpoints | Bearer JWT | x-api-key | x-ach-access-token |
|---|---|---|---|
| Health check | — | — | — |
| Login (/api/authentication/login) | issues it | — | — |
| Tokenization · card transactions · EMV · receipts · invoices · gift card | ✓ either | ✓ either | — |
| Payment log · batching · Cygma reporting · email | ✓ required | — | — |
| ACH authenticate (/api/ach/authenticate) | ✓ required | — | issues it |
| All other /api/ach/* endpoints | ✓ required | accepted on some | ✓ required |
Card numbers for mock testing
During development you often want a mocked response without a real charge. The spec publishes two sandbox merchants and three sets of test cards. All sandbox tokens must be used with sandbox merchant number 518564990154510 (the Fiserv sandbox merchant); the Cygma certification cards run against merchant 889901550594702. In production, use the merchant number you were assigned in place of the sandbox merchant.
| Brand | Card number | CVV | Exp | Token |
|---|---|---|---|---|
| Amex | 349956959041362 | 1234 | 1225 | 123456789 |
| Visa | 4761120010000492 | 123 | 1225 | 345678901 |
| MasterCard | 5204247750001471 | 123 | 1225 | 567890123 |
| Discover | 6011000994462780 | 123 | 1225 | 789012345 |
| Brand | Card number | CVV | Exp | Token |
|---|---|---|---|---|
| Amex | 349956153891398 | 1234 | 1225 | 345345567 |
| Visa | 4761349750010326 | 123 | 1225 | 458967677 |
| MasterCard | 5204247750001505 | 123 | 1225 | 598723233 |
| Discover | 6011000994589319 | 123 | 1225 | 609873423 |
| Brand | Card number | CVV | Exp | Token |
|---|---|---|---|---|
| MasterCard | 5204730000001003 | 100 | 1227 | 1090410263 |
| Visa | 4012000033330026 | 123 | 0827 | 1584485194 |
Each row’s token column is the stored-card token equivalent – pass it in place of the card number to exercise the token payment path with the same simulated outcome.
Plugins (WooCommerce)
The legacy ProCharge WooCommerce plugin (current version 1.0.13) is still downloadable from https://dev-api.procharge.com/api/plugin/woocommerce-plugin. Like the rest of the API it is deprecated – new WooCommerce stores should use the Merchant360 WooCommerce plugin instead.
Health Check
Service liveness probe – no authentication required.
Check the status of the service
No auth
If the service is up and running correctly the response will be 'up'
200Service is up and healthy400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/healthcheck" \ -H "Authorization: Bearer <access_token>"
Authentication
Exchange your ProCharge credentials for a JWT bearer access token. Every other endpoint requires the resulting token (or an x-api-key).
Authentication Endpoint
No auth
User authentication endpoint. The access token returned in this call will be used to authenticate all API calls. Use the same credentials you currently use when logging into the Procharge Gateway.
| Field | Type | Description |
|---|---|---|
userNameoptional | string | Gateway Login ID aka your user name |
passWordoptional | string | Gateway password for user |
pinoptional | string | Profile PIN for user |
applicationoptional | string | Name of aplication the user is authenticating from |
200Authentication Succeeded400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/authentication/login" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Tokenization
Convert a card number into a reusable ProCharge token so raw PANs never touch your systems again.
Tokenization Endpoint
Bearer JWTor x-api-key
Tokenize credit card information for card on file (COF) usage.
| Field | Type | Description |
|---|---|---|
merchantNumberoptional | string | Merchant number · Example: 999999999000200 |
accountNumberoptional | string | Credit card number. · Example: 4761120010000492 |
expDateoptional | string | Credit card expiration date. Format MMYY · Example: 1225 |
formatoptional | string | Will determine format of response. Valid values are 'text' and 'json'. Default is 'text' 'text' is equivalent to 'application/text' and 'json' is equivalent to 'application/json' · Example: json |
200Request Succeeded400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/token" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Card Transactions
The core payment endpoint – sale, auth-only, capture, void, refund, verification – plus transaction lookup and BIN data on the ProCharge Service host.
Payment Transaction
Bearer JWTor x-api-key
Payment processing API Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
merchantnumberoptional | string | Merchant Identifier. Sending this header is highly recommended but is optional. In the future will be required. · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key. Sending this header is highly recommended but is optional. In the future will be required. · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
applicationKeyrequired | string | Application key specific to a merchant that allows them to process payments. It is recommended to pass the application key in the x-api-key header instead of in the json request. |
sourcerequired | string | Value identifying the source of the transaction. Required · Example: wg |
universalTimeStampoptional | number | Universal timestamp in milliseconds. If passed in the request and the time difference is greater than 5 minutes the transaction will be rejected. It is recommended to pass this value, in later releases this will be a required field value. · Example: 1648046807643 |
isPaymentTerminaloptional | boolean | Set to true if request is originating from a payment terminal like Pax, Dejavoo, Ingenico and is not an ecommerce solution. |
isProchargerequired | boolean | If set to true the api will create customer, invoice, payments and other records within Procharge. Default value is true br>If set to false the client is responsible for managing their own batches and recording the results of the transaction response to be used in case of voids or refunds |
isEcommerceoptional | boolean | If set to true the api will submit request as an Ecommerce transaction. If property is set to true will override isMoto and isRetail. |
isRetailoptional | boolean | If set to true the api will submit request as a Retail transaction. Retail transactions are generally Chip Reads or Swiped and an in store purchase. If property is set to true will override isMoto but not ecommerce. |
isRestaurantoptional | boolean | If set to true the api will submit request as a Restaurant transaction. Restaurant transactions are generally Chip Reads or Swiped and on premise purchase. If property is set to true will override isMoto, isRetail and isEcommerce. |
isMotooptional | boolean | If set to true the api will submit request as a money order/telephone order transaction. If either isEcommerce or isRetail are set to true they will override isMoto setting. |
ebtCodeoptional | string | Sets the type of EBT account. Pass when CardType is EB Valid values: 96 	 EBT Food 98 	 EBT Cash · Example: 96 |
preAuthorizationoptional | boolean | If set to true the api will route authonly request to preauthorization endpoint. The Pre-Authorization message is followed by a Ticket Completion message. |
stanoptional | string | The systems trace audit number (STAN) is automatically generated by procharge but if sent will override. It is incremented for each transaction processed. Optional |
merchantNumberrequired | string | Merchant Identifier |
paymentGatewayIDoptional | string | Valid values are '4' for Fiserv and '5' for Cygma |
acquirerIDoptional | string | Code identifying the acquiring institution (e.g. merchant's bank) or its agent. (Cygma Only) Optional · Example: 411763 |
terminalIDoptional | string | The terminal ID, assigned by CYGMA, is used to uniquely identify the terminal within a card acceptor acquirer ID. (Cygma Only) Optional · Example: PROCHG02 |
deviceIDoptional | string | Optional field and normally not sent in a request. Used with bulk processing calls otherwise is auto assigned by Procharge. · Example: 1234 |
industryTyperequired | string | Business industry type. If not passed will be pulled from the merchant record during on boarding Fiserv Values 2 	 Restaurant. 2 will be converted to 13 for Cygma merchants 4 	 Lodging 6 	 Retail/Supermarket/Petroleum/Cash Advance. 6 will be converted to 10 for Cygma merchants Cygma Values 0 	 Unknown 1 	 Airline Normal 2 	 Airline2 3 	 Hotel Preferred 4 	 Hotel Normal 5 	 Auto Preferred 6 	 Auto Normal 7 	 Direct Marketing 8 	 Fuel 9 	 moto 10 	 Retail 11 	 Medical 12 	 Limited Amt Terminal 13 	 Restaurant 14 	 Telephone 15 	 Rail 16 	 Ticketing Entertainment 17 	 Travel 18 	 Health Care 19 	 Cruise 20 	 Cash Advance 21 	 ATM Cash Disbursement 22 	 Insurance 23 	 Passenger Transport Ancillary 24 	 Temp_Services 25 	 Fleet · Example: 6 |
deviceModeloptional | string | Card reader device model code. Currently only supports CHB or blank. At this time the only supported device is BBPOS Chipper 2x BT. EMV only |
cardNotPresentoptional | boolean | If set to true will submit card transaction as card not present. If processing a payment and the merchant is not present that is considered card not present. Example: web pages are CNP. Development only. |
invoiceIDoptional | number | Procharge record id for invoice record. Optional · Example: 123456 |
creditIDoptional | number | When funds have been credited back to a customer this ID is assigned and needed for a refund reversal call. |
customerIDoptional | number | Procharge record id for customer record. Optional · Example: 123456 |
receiptsoptional | boolean | If set to true will send a customer and merchant receipt in the response. Development only |
itemsoptional | object[] | Send a list of purchased items to be printed on the receipt. Items array will be ignored if 'receipts' is false. |
items[].itemNameoptional | string | Item name to be displayed on the receipt · Example: Large Pizza |
items[].itemDescriptionoptional | string | Example: Large Pizza |
items[].qtyoptional | integer | Quantity of item purchased to be displayed on the receipt · Example: 1 |
items[].unitPriceoptional | number | Item Unit Price to be displayed on the receipt · Example: 2.02 |
items[].commodityCodeoptional | string | Holds the code of goods that are purchased (as defined by national tax authorities). See following links for more info: harmonized-system-hs-codes commodity code search · Example: 5045450002 |
items[].unitOfMeasureoptional | string | Code for units of measurement used in international trade. Refer to: units-of-measurement-codes Some Valid Values Are: EA 	 Each DZN 	 Dozen CS 	 Case BX 	 Box DZP 	 Dozenpacks DZR 	 Dozen Pairs DPC 	 Dozen Pieces GLI 	 Gallon (4,546092 dm3) GLL 	 Liquid gallon (3,7854l dm3) CEN 	 Hundred BHX 	 Hundred Boxes CNP 	 Hundred Packs ITM 	 Item KGM 	 Kilogram PTL 	 Liquid pint (0,473176 dm3) QTL 	 Liquid quart (0,946353 dm3) ONZ 	 Ounce GB, US (28,349523 g) APZ 	 Ounce GB, US (31,10348 g) (syn: Troy ounce) LBS 	 Pounds MIL 	 Thousand DAY 	 Day WEE 	 Week MON 	 Month HUR 	 Hour · Example: EA |
items[].unitCostoptional | number | The unit cost of the item purchased. Unit Cost refers to the expenses associated with producing each unit of that same product or service. · Example: 1.88 |
items[].destinationPostalCodeoptional | string | Destination postal code · Example: 11933 |
items[].shipDateoptional | string | The date on which the merchandise was shipped to the destination · Example: 251215 |
items[].shippingMethodoptional | string | Shipment Code 01 - Same Day 02 - Overnight/Next Day 03 - Priority, 2-3 days 04 - Ground, 4 or more days 05 - Electronic Delivery 06 - Ship-to Store (DF 63 should contain store address) · Example: 01 |
items[].freightShippingAmountoptional | number | Shipping amount · Example: 0 |
items[].shipFromPostalCodeoptional | string | Postal code where goos or services are shipped from. · Example: 11933 |
items[].shipToFirstNameoptional | string | Ship-to First Name, is left justified and character space filled, if necessary. Casesensitive characters must be upper case. Leading or trailing zeros and/or virgules (/) are not permitted as filler. · Example: John |
items[].shipToLastNameoptional | string | Ship-to Last Name, is left justified and character space filled, if necessary. Casesensitive characters must be upper case. Leading or trailing zeros and/or virgules (/) are not permitted as filler · Example: Doe |
items[].shipToAddressoptional | string | Case-sensitive characters must be upper case. Leading or trailing zeros and/or virgules (/) are not permitted as filler. · Example: 123 Test St |
items[].shipToPhoneNumberoptional | string | Customer phone number · Example: 5611234567 |
items[].taxAmountoptional | number | Tax amount applied to order. · Example: 0.14 |
items[].salesTaxCollectedIndicatoroptional | number | Indicates the presence of the sales tax amount. Valid values: 0 	 No tax information provided 1 	 Tax Amount is provided 2 	 Purchase item is tax exempt or nontaxable · Example: 1 |
items[].taxRateoptional | number | Holds the Sales Tax Rate. Example value defines the tax rate as 7 percent. · Example: 0.07 |
items[].extendedItemAmountLineItemTotalAmountoptional | number | Holds the total purchase amount. · Example: 2.02 |
items[].extendedAmountCreditDebitIndicatoroptional | string | Indicates whether the line-item value is a debit or credit. The valid values of this field are: C 	 Credit D 	 Debit · Example: C |
items[].unitPriceExcludingTaxoptional | number | Holds the Price per line-item unit excluding tax. · Example: 1.88 |
items[].itemPriceIncludingTaxoptional | number | Holds the Price per line-item unit including tax. · Example: 2.02 |
items[].itemPriceExludingTaxoptional | number | Holds the total tine item that are excluded from tax. · Example: 1.88 |
items[].orderDateoptional | string | Date the order was placed, format YYMMDD. · Example: 240524 |
cardNumberrequired | string | Credit Card Number. Required field for transaction code's 1, 2, 3 and 4 |
ccExpMonthrequired | string | Credit card expiration month format MM and zero padded ex: 03. Required field for transaction code's 1, 2, 3 and 4 |
ccExpYearrequired | string | Credit card expiration month format YY. Required field for transaction code's 1, 2, 3 and 4 |
cvvrequired | string | Card Verification Value. Required field for transaction code's 1, 2, 3 and 4 |
ccLastFourrequired | string | Last four numbers on the credit card. Optional |
amountrequired | string | Total dollar-and-cent amount. Format: $$$$$.¢¢ of the purchase; variable-length, eight-position, Required field If processing a payment in the restaurant industry the following optional fields FoodAmount + BeverageMiscAmount + TaxAmount + TipAmount must equal this field · Example: 10.00 |
taxAmountrequired | string | Tax amount applied to this order. · Example: 0.80 |
transactionCoderequired | string | Type of request to be processed. 1 	 Online Sale 2 	 Return 3 	 Ticket. Close Auth Only. To be performed after Auth Only transaction 4 	 Auth Only 5 	 Void Sale. Transaction Type 1 6 	 Void Return. Transaction Type 2 7 	 Void Ticket. Transaction Type 3 8 	 Void Auth Only. Transaction Type 4 V 	 Pre-Paid balance Inquiry · Example: 1 |
orderNumberrequired | string | A string identifier that can be tied to the payment. Max length 25 chars for Fiserv and 8 chars for Cygma/FIS. Required |
targetrequired | string | Target Environment 6 	 Production 8 	 Sandbox · Example: 8 |
namerequired | string | Full name as displayed on the card. Required |
firstNameoptional | string | First name of card holder. If not supplied will attempt to extract it from the 'name' field. |
lastNameoptional | string | Last name of card holder. If not supplied will attempt to extract it from the 'name' field. |
street1required | string | Street address associated with card holder. Required field for transaction code's 1 and 4 |
cityrequired | string | City associated with card holder |
staterequired | string | State associated with card holder. Max length 2 |
postalCoderequired | string | Zipcode associated with card holder. Max length 9. Required field for transaction code's 1 and 4 |
emailrequired | string | Card holder email |
companyNamerequired | string | Name of company |
merchantIDrequired | integer | An internal value that will be assigned to the client. Required if isProcharge is true. If not present in the request will pull it from the merchant record. |
profileIDrequired | integer | An internal value that will be assigned to the client. Required if isProcharge is true. If not present in the request will pull it from the merchant record. |
batchNumberrequired | string | Number identifying the batch; assigned by the POS device. system managed. Pass '0' in this field. If isProcharge is false then batchNumber is required otherwise optional. · Example: 0 |
itemNumberrequired | string | Number of the transaction in the batch. Pass '001' in this field assigned by the POS; fixed-length, three position, required field; If any online transaction is declined the next transaction should use the same ITEM NUMBER except authorization only transactions. Will be auto assigned. If isProcharge is false then batchNumber is required otherwise optional. · Example: 001 |
revisionNumberrequired | string | Number identifying the number of revisions to a monetary transaction; fixed-length, required field; assigned by the POS. For Debit, EBT, Auth Only, Void Auth Only, Revision number should be '0'. Revision number should be incremented by 1 every time the transaction is revised. This includes Adjustments, Adding tips and Voids. If isProcharge is false then batchNumber is required otherwise optional. · Example: 0 |
emvoptional | string | EMV Data is a series of Tag-Length-Value combination for chip card processing. Base64 string max length 1001 chars |
trackDataoptional | string | Magnetic track2 stripe data. Max length is 76 chars. Optional. |
transactionFeeoptional | string | |
reverseCashDiscountPercentageoptional | string | |
reverseCashDiscountAmountoptional | string | |
reverseCashDiscountFixAmountoptional | string | |
customerServicefeeoptional | string | |
customerServiceFeeAmountoptional | string | |
customerServiceFeeFixAmountoptional | string | |
customerServiceFeePercentageoptional | string | |
cashDiscountFixAmountoptional | string | |
transactionIDoptional | string | Code generated by the card associations on the authorization; known as TID for Visa and BankNet Reference Number for MasterCard; Max length 15, required for ticket completions, adjustments and voids. |
protocolTypeoptional | string | Character indicating an ETC 'PLUS' application; optional field; default value is '1'. Not required for Cygma requests. |
writeControlCharacteroptional | string | Character identifying the account number entry method and Host response protocol (single or multiple mode). optional field. default value is '@'. System Managed. Optional. @ 	 Manual Entry, Single Transaction Mode. This WCC is also used for batch close message and deposit inquiry A 	 Swiped Entry, Single Transaction Mode B 	 Manual Entry, Multiple Mode Host will respond with an ENQ character during protocol instead of an EOT character as in single mode. 	 This character can be used with the batch close C 	 Swiped Entry, Multiple Mode Host will respond with an ENQ character during protocol instead of an EOT character as in single mode. 	 This character can be used with the batch close message. E 	 Contactless Magnetic stripe entry G 	 Contactless Magnetic stripe entry, Multiple Transaction Mode I 	 Contactless chip. EMV. entry, Single Transaction Mode K 	 Contactless chip. EMV. entry, Multiple Transaction Mode M 	 Contact chip. EMV. entry, Single Transaction Mode O 	 Contact chip. EMV. entry, Multiple Transaction Mode P 	 Chip - Keyed Fallback entry, Single Transaction Mode R 	 Chip - Keyed Fallback entry, Multiple Transaction Mode Q 	 Chip - Swiped Fallback entry, Single Transaction Mode S 	 Chip - Swiped Fallback entry, Multiple Transaction Mode · Example: @ |
transactionTypeoptional | string | Code identifying how the System will respond to the transaction request. optional field. default value '0' 0 	 Online. Transaction needs immediate response from Host 1 	 Offline. Item was captured offline and sent (piggybacked) with an online transaction 2 	 Offline. Item was captured offline and sent with a close batch 3 	 Revised. Item was revised and sent (piggybacked) with an online transaction 4 	 Revised. Item was revised and sent with a close batch. 5 	 Specific Poll Item. Specific Poll for a Revised Item after a Revision Inquiry Request. 	 This can only occur if an Open Batch on Host system 6 	 Specific Poll Item. Specific Poll for a Single Transaction 	 This can only occur if an Open Batch on Host system · Example: 0 |
terminalCapabilityoptional | string | Merchant POS Terminal Capability Code. optional field. System Managed. Not used in e-commerce. If EMV or card present '3C00' else '3C40' and '2000' for card not present. Not required |
terminalPinCapabilityoptional | string | Merchant POS Terminal PIN Capability. optional field. System Managed. default value '1' for card present else '2' for card not present. Not required 0 	 Terminal entry mode is unknown. 1 	 Terminal can accept PIN entry. 2 	 Terminal cannot accept PIN entry. 8 	 PIN Pad is inoperative. 9 	 For Discover only. Card types 06 and 61. The POS Device is capable of off-line PIN verification · Example: 1 |
terminalCategoryCodeoptional | string | Merchant POS Terminal Category Code aka POS Type. optional field. System Managed. For card present default value is '5' and '0' for card not present. Not required 0 	 Unspecified 1 	 Limited amount terminal 2 	 Unattended terminal. ATM 3 	 Unattended terminal. Non ATM 4 	 Electronic cash register, Retail 5 	 Ecommerce customer present 7 	 Telephone device 8 	 Reserved 9 	 Mobile acceptance solution A 	 mPOS Accessory/dongle with contact and contactless interfaces, with or without PIN pad B 	 mPOS Accessory/dongle with contact and contactless interfaces and PIN on Glass support (Software-based PIN on COTS (SPoC)) C 	 Contactless Payment on COTS (CPoC) - Mobile device based contactless only mPOS without PIN support D 	 Contactless Payment on COTS (CPoC) - Mobile device based contactless only mPOS with PIN on Glass support · Example: 5 |
terminalCardCaptureCapabilityoptional | string | Merchant POS Terminal Card Capture Capability. optional field. System Managed. For card present default value is '9' and '0' for card not present. Not required 0 	 The merchant's terminal does not have the ability to transmit entire magnetic stripe information. 9 	 The merchant's terminal can transmit entire magnetic stripe information. · Example: 9 |
posConditionCodeoptional | string | Merchant POS Condition Code. optional field. System Managed. For card present default is '00' and for card not present default value is '59' except for visa card which will default to '08' 00 	 Cardholder Present, Card Present 01 	 Cardholder Present, Unspecified 02 	 Cardholder Present, Unattended Device 03 	 Cardholder Present, Suspect Fraud 04 	 Cardholder Not Present - Recurring 05 	 Cardholder Present, Card Not Present, Retail 06 	 Cardholder Present, Identity Verified 08 	 Cardholder Not Present, Mail Order/Telephone Order 59 	 Cardholder Not Present, Ecommerce 71 	 Cardholder Present, Magnetic Stripe Could Not Be Read Cygma Only Values 73 	 Recurring Payment 74 	 Standing Order 75 	 Installment Payment · Example: 59 |
cardVerificationPresenceIndicatoroptional | string | Character that indicates whether the CVV2/CVC2/CID value is included with message packet; optional field. 0 	 Card Verification Value not provided 1 	 Value Present, card Verification Value is required 2 	 Value Illegible on Card 9 	 Cardholder states no card verification value on card · Example: 1 |
partialAuthIndicatoroptional | string | Value that indicates to ETC Plus host that this POS application supports Partial Authorizations and Balance Information. This field is valid for Online Sale (ETC Tran Type = 1) 1 	 Accepts Partial Authorizations and Balance from Issuer 2 	 Does Not Accept Partial Authorizations for an Estimated Transaction Amount and Balance from Issuer 3 	 Accepts Partial Authorizations for an Estimated Transaction Amount and Balance from Issuer · Example: 1 |
isPurchaseCardoptional | boolean | If set to true then a '1' will be passed in the retail terms · Example: false |
isOfflineoptional | boolean | If true transaction will be processed as offline and protocolType will be set to 3 |
tokenoptional | string | Is valid for transaction types 1, 2, 3 and 4. When a credit card transaction is submitted a token will be returned in the response for client side storage. For future charges you would only need to pass the token and not all the card details. Optional. |
acioptional | string | Authorization Characteristics Indicator (ACI) - Code identifying the type of transaction approval; optional field. Default value is 'Y' for transaction code's 1 and 4. I 	 Incremental Charge – American Express requires an Incremental charge to be processed in a Keyed format only. 	 For Check Card processing an Incremental charge must be in a Swiped format only. When using Hotel format and performing an 	 Incremental authorization. The additional authorization amount should be for the additional amount only. 	 The Total Auth Amount field should contain the originally authorized amount plus the Additional amount. 	 Also, the ACI value must be an 'I' for the Incremental transaction. P 	 Card is not present at time of the authorization request, but the cardholder is a preferred customer participant. R 	 Recurring Charge. Set 'eci' field to '2' when recurring. Y 	 Card is present or the card is not present and request for address verification is needed. Valid Values in Host Response A 	 Card is present at the time of the authorization request C 	 Card is present with merchant name and location data that was activated by the cardholder, self-service terminal E 	 Card is present with merchant name and location data F 	 Card is not present at time of authorization request. Account funding transaction K 	 Card is present at time of authorization request. Key-entered. N 	 Authorization did not qualify as a Custom Payment Service or the acquirer or merchant does not participate 	 in the Custom Payment Service (CPS). R 	 Recurring U 	 Authorization request is for a CPS Electronic Commerce Preferred 3-D SecureSM transaction. V 	 Request for address verification – Card not present. W 	 Authorization request is for CPS Electronic Commerce Basic. Blank 	 Authorization did not qualify as a Custom Payment Service transaction or 	 the acquirer or merchant does not participate in Custom Payment Service, (CPS) · Example: Y |
ecioptional | string | Electronic Commerce specifications is applicable to internet transactions only. 01 	 MOTO Indicator - Single Transaction mail/telephone order: designates a transaction where the cardholder 	 is not present at a merchant location and consummates the sale via the phone or through the mail. 	 The transaction is not for recurring services or product and does not include 	 sales that are processed via an installment plan. 02 	 MOTO Indicator - Recurring Transaction: designates a transaction that represents an arrangement between a cardholder and the merchant 	 where transactions are going to occur on a periodic basis. 03 	 MOTO Indicator - Installment Payment: designates a group of transactions that originated from a single purchase where the merchant agrees to 	 bill the cardholder in installments. 04 	 Contactless Magnetic Stripe (Proximity Chip) 05 	 Cardholder authentication successful (includes successful authentication using Risk based authentication and/or a Dynamic password). 06 	 Merchant attempted to authenticate the Cardholder but the issuer does not participate in Verified by Visa or the card is not eligible for 	 authentication. 07 	 Non-authenticated ecommerce transaction 08 	 Non-secure transaction MasterCard Values For Ecommerce 05 	 MasterPass without risk based decisioning 07 	 MasterPass with risk based decisioning 08 	 Chip/Cardholder Certificate Not Used · Example: 7 |
originalNetworkResponseCodeoptional | string | Network Response Code from issuer/network or approver of the original message. Required in subsequent messages when available for interchange qualification. · Example: 000913 |
originalSTANoptional | string | Trace number from original transaction. · Example: 000913 |
originalTransactionDateoptional | string | Transaction date from original transaction. · Example: 0521 |
originalTransactionTimeoptional | string | Transaction time from original transaction. · Example: 114522 |
originalAmountoptional | number | Amount from original transaction. · Example: 1 |
validationCodeoptional | string | V.I.P calculated code to ensure that key fields in the 0100 authorization requests match their respective fields in clearing. · Example: 000913 |
restaurantIndustryoptional | object | Industry specific fields used by merchants in the restaurant industry. industryType 2. Optional Object Field |
restaurantIndustry.foodAmountoptional | string | Dollar-and-cent amount, Format: $$$$$.¢¢, of the restaurant food purchase; variable-length, Max length 8, optional field |
restaurantIndustry.beverageMiscAmountoptional | string | Dollar-and-cent amount, Format: $$$$$.¢¢, of the restaurant beverage purchase; variable-length, Max length 6, optional field |
restaurantIndustry.taxAmountoptional | string | Dollar-and-cent amount, Format: $$$$$.¢¢, of the restaurant tax purchase; variable-length, Max length 6, optional field |
restaurantIndustry.tipAmountoptional | string | Dollar-and-cent amount, Format: $$$.¢¢, of the tip given at the restaurant for the purchase; Max length 6, optional field |
restaurantIndustry.transactionIdentifieroptional | string | Code generated by the card associations on the authorization; known as TID for Visa and BankNet Reference Number for MasterCard; Max length 15, required for ticket completions and voids. |
restaurantIndustry.serverIdoptional | string | Server identification– Merchant-assigned code identifying the server who entered the transaction, optional field |
restaurantIndustry.pinBlockoptional | string | PIN Pad encrypted code; optional, fixed length field 16; This field applies only to Credit EMV (online PIN), EBT and Debit card transaction types |
restaurantIndustry.cardTypeIndicatoroptional | string | Character indicating the type of card. Credit or 'C' is assumed if field not in use. * C - Credit Card * D - Debit Card * F - EBT Food Stamp * B - EBT Benefits Transaction (Cash) * P - Pre-Paid Card * T - TIP - Transaction is open for a Revision (i.e. Tip acceptance) · Example: C |
restaurantIndustry.cashBackAmountoptional | string | Dollar-and-cent amount, Format: $$$.¢¢, of a debit/EBT cash back amount; variable-length max length 6, optional field |
restaurantIndustry.surchargeoptional | string | Dollar-and-cent amount, Format: $$$.¢¢, of the charge that the cardholder paid the merchant for the ability to perform the transaction; variable length max length 6, optional field |
restaurantIndustry.ebtVoucheroptional | string | Dollar-and-cent amount, Format: $$$.¢¢, of the charge that the cardholder paid the merchant for the ability to perform the transaction; variable length max length 15, optional field |
restaurantIndustry.authorizationCodeoptional | string | Required filed if transaction is EBT Voucher Sale or TICKET ONLY transaction type '3' or Void Auth Only transaction code '8' |
restaurantIndustry.smidIDoptional | string | Security Management Information Data – Optional, variable-length field; This field applies only to Credit EMV online PIN, EBT and Debit card transaction types |
restaurantIndustry.partialAuthIndicatoroptional | string | Value that indicates to ETC Plus host that this POS application supports Partial Authorizations and Balance Information, This field is valid for Online Sale ETC Tran Type 1 |
restaurantIndustry.fdrAssignedTPPoptional | string | This is First Data assigned value, if it is not available do not send this field with a default value. |
restaurantIndustry.visaAUARoptional | string | If the AUAR value is not available do not send this field with a default value |
restaurantIndustry.mcTraceIdoptional | string | Must be included in subsequent follow-ups transactions such as incremental authorization. Master Card Only |
restaurantIndustry.mcFraudVoidFlagoptional | string | A value of 'Y' will notify MasterCard that the sale was voided due to suspected fraud. Master Card Only |
restaurantIndustry.mcFinalAuthIndicatoroptional | string (0 | 1 | 2) | MasterCard Final Authorization Indicator provides ability for the merchant to notify the Issuer whether the Authorization is final or not. * 0 - unknown * 1 - is final auth amount * 2 - final auth amount may differ from original auth amount |
restaurantIndustry.giftCardIndicatoroptional | string | This field is specific to Amex card present transactions. |
restaurantIndustry.transitAccessTermCardActTermoptional | string | When Field is used for Transit Access Terminal, send Amex authorization with value of 'Z' to indicate the transaction originated at a special terminal |
restaurantIndustry.mcWalletIdentifieroptional | string | This field is for applicable for MasterCard only; It is used to pass DE 48 SE 26 to MasterCard. |
restaurantIndustry.posLaneIdStoreNumberoptional | string | DE41 is concatenation of POS Lane ID/Store Number and Device ID. |
restaurantIndustry.merchantInitiatedTransactionIndicatoroptional | string | This field indicates if the transaction is merchant initiated with cardholder credentials stored on file and the type of merchant initiated transaction |
restaurantIndustry.digitalWalletIndicatoroptional | string | Indicates if the transaction is for a Staged or Pass-through Digital Wallet. |
restaurantIndustry.digitalWalletProgramTypeoptional | string | This field identifies the brand of digital wallet used in a transaction |
restaurantIndustry.visaSpecialConditionIndicatoroptional | string | This field identifies the DE 60.4 values for Visa transactions. 7: Purchase of crypto currency 8: Payment on existing debt |
restaurantIndustry.deferredAuthIndicatoroptional | string | Indicator designating that a transaction is a deferred authorization. Y if using else space |
restaurantIndustry.avsZipCodeoptional | string | Address Verification Service ZIP code – ZIP code of principal cardholder’s address entered for address verification. Length can be 5 or 9 only |
restaurantIndustry.posDataCodesoptional | string | POS Codes for American Express Ticket Only Tran Code 3 transaction. Contact American Express to determine how these values are generated and used for American Express |
retailIndustryoptional | object | |
retailIndustry.descriptorCodesoptional | string | Code identifying a product or service; variable-length, optional field; edited for numeric values Used for Private Label Transactions only. Enter one or up to four 2-digit codes or enter one or up to four 4-digit codes. industryType 6. Optional Object Field · Example: |
retailIndustry.operatorIDoptional | string | Operator Identification – Merchant-assigned code identifying the operator who entered the transaction; variable-length, optional field; · Example: |
retailIndustry.retailTermsoptional | string | Number identifying the Private Label terms or special payments options for a transaction; variable-length, optional field; edited for numeric values Used for Private Label Transactions only. · Example: |
retailIndustry.motooptional | string | Code identifying whether the transaction is mail order, phone order or electronic commerce; one-position, numeric, optional field. * 1 - Mail or Telephone Order – Single Transaction * 2 - Recurring Transaction (ACI must be 'R') * 3 - Installment Billing Visa and Discover Values for E-Commerce * 5 - Secure (with certificate) Transaction * 6 - Non-Authenticated (without certificate) Transaction at 3D secure capable merchant * 7 - Non-Authenticated (Channel Encrypted) Transaction * 8 - Non-Secure Transaction MasterCard Values for E-Commerce * 5 - MasterPass without risk based decisioning * 7 - MasterPass with risk based decisioning * 8 - Chip/Cardholder Certificate Not Used · Example: 1 |
retailIndustry.avsZipCodeoptional | string | Address Verification Service ZIP code – ZIP code of principal cardholder’s address entered for address verification; fixed-length, five-position or nine-position, optional field; edited for numeric values Do not use this field for a ticket-only, return or a void transaction code. Only valid for Transaction Code 1 (Sale) or Transaction Code 4 (Auth Only) · Example: 11933 |
retailIndustry.avsAddressoptional | string | Address Verification Service Address – Principal cardholder’s address entered for address verification; variable-length, five-position field. Do not use this field for a ticket-only, return or a void transaction code. Only valid for Transaction Code 1 (Sale) or Transaction Code 4 (Auth Only) · Example: 123 |
retailIndustry.taxAmountoptional | string | Dollar-and-cent amount ($$$$$.¢¢) of tax for the purchase; variable-length, optional field. 8 position Note: This is a required field for supporting Amex Level 2 Transactions · Example: 1.99 |
retailIndustry.retailTaxIndicatoroptional | string | This field identifies the taxable status of the transaction * 0 - No tax information provided * 1 - Tax Amount is provided * 2 - Purchase item is tax exempt or non-taxable Note: This field is mandatory for Visa and MasterCard Purchase Card transactions only If this field is not sent, values 0 and 1 will be implied based on whether field ‘TAX AMOUNT’ is present or not. · Example: 1 |
retailIndustry.optionalField1optional | string | Merchant-defined field providing additional information about the transaction · Example: |
retailIndustry.optionalField2optional | string | Merchant-defined field providing additional information about the transaction · Example: |
retailIndustry.orderNumberoptional | string | Merchant-defined number identifying the purchase or service; variable-length · Example: |
retailIndustry.authCharIndicatoroptional | string | Authorization Characteristics Indicator (ACI) - Code identifying the type of transaction approval; optional field; * I - Incremental Charge – American Express requires an Incremental charge to be processed in a Keyed format only. For Check Card processing an Incremental charge must be in a Swiped format only. When using Hotel format and performing an Incremental authorization. The additional authorization amount should be for the additional amount only. The Total Auth Amount field should contain the originally authorized amount plus the Additional amount. Also, the ACI value must be an “I” for the Incremental transaction. * P - Card is not present at time of the authorization request, but the cardholder is a preferred customer participant. * R - Recurring Charge. Set 'eci' field to '2' when recurring. * Y - Card is present or the card is not present and request for address verification is needed. Valid Values in Host Response * A - Card is present at the time of the authorization request * C - Card is present with merchant name and location data that was activated by the cardholder, self-service terminal * E - Card is present with merchant name and location data * F - Card is not present at time of authorization request. Account funding transaction * K - Card is present at time of authorization request. Key-entered. * N - Authorization did not qualify as a Custom Payment Service or the acquirer or merchant does not participate in the Custom Payment Service (CPS). * R - Recurring * U - Authorization request is for a CPS Electronic Commerce Preferred 3-D SecureSM transaction. * V - Request for address verification – Card not present. * W - Authorization request is for CPS Electronic Commerce Basic. * Blank - Authorization did not qualify as a Custom Payment Service transaction or the acquirer or merchant does not participate in Custom Payment Service, (CPS) · Example: Y |
retailIndustry.transactionIdentifieroptional | string | Code generated by the card associations on the authorization; known as TID for Visa and BankNet Reference Number for MasterCard; variable-length, optional field; edited for alphanumeric values Transaction Identifier (TID) is a required field for a ticket only transaction (Tran Code ‘3’) that is created from Original Auth Only. This TID should be the original TID returned on the auth-only response. Transaction Identifier (TID) is a required field for a merchant initiated sale transaction (Tran Code ‘1’) or merchant initiated authorization only transaction (Tran Code ‘4’). · Example: |
retailIndustry.avsResponseCodeoptional | string | Address Verification Service response - Code indicating whether address verification was performed and the results; used for ticket only transaction · Example: |
retailIndustry.totalAuthorizedAmountoptional | string | Dollar-and-cent amount ($$$$$.¢¢) of the purchase; variable-length, optional field. If transaction code is B, V or 4 a '0.00' amount is acceptable. · Example: |
retailIndustry.pinBlockoptional | string | PIN Pad encrypted code; optional, fixed-length field; This field applies only to Credit EMV (online PIN), EBT and Debit card transaction types. For Debit Void and Debit reversal of partially approved amount, PIN BLOCK should be filled with '0's. For Example: 0000000000000000 for 16 digit length of PIN BLOCK. · Example: |
retailIndustry.cardTypeIndicatoroptional | string | Character indicating the type of card. Credit or 'C' is assumed if field not in use. * C - Credit Card * D - Debit Card * F - EBT Food Stamp * B - EBT Benefits Transaction (Cash) * P - Pre-Paid Card * T - TIP - Transaction is open for a Revision (i.e. Tip acceptance) · Example: C |
retailIndustry.cardholderSetCertificateoptional | string | Cardholder Secure Electronic Transaction Certificate Serial number · Example: |
retailIndustry.cashBackAmountoptional | string | Dollar-and-cent amount ($$$.¢¢) of a debit/EBT cash back amount; variable-length, optional field · Example: |
retailIndustry.surChargeoptional | string | Dollar-and-cent amount ($$$.¢¢) of the charge that the cardholder paid the merchant for the ability to perform the transaction; variable-length, optional field. Position 1 contains the surcharge prefix. Valid values are '+' or '-'. '-' = Credit to the cardholder and '+' = Debit to the cardholder. Positions 2-9 contain the surcharge amount · Example: |
retailIndustry.ebtVoucherNumberoptional | string | Number from EBT Voucher Form; variable-length field, required if transaction is EBT Voucher Sale · Example: |
retailIndustry.authorizationCodeoptional | string | Required filed if transaction is EBT Voucher Sale or TICKET ONLY (transaction type ‘3’) or Void Auth Only ( transaction code ‘8’) · Example: |
retailIndustry.smidIDoptional | string | Security Management Information Data – Optional, variable-length field; This field applies only to Credit EMV (online PIN), EBT and Debit card transaction types. For Debit Void and Debit reversal of partially approved amount, SMID ID should be filled with 'F's. For Example: FFFFFFFFFFFFFFFFFFFF for 20 digit length of SMID ID. · Example: |
retailIndustry.partialAuthIndicatoroptional | string | Value that indicates to ETC Plus host that this POS application supports Partial Authorizations and Balance Information. This field is valid for Online Sale (ETC Tran Type =1). * 1 - Accepts Partial Authorizations and Balance from Issuer * 2 - Does Not Accept Partial Authorizations for an Estimated Transaction Amount and Balance from Issuer * 3 - Accepts Partial Authorizations for an Estimated Transaction Amount and Balance from Issuer · Example: 1 |
retailIndustry.fdrAssignedTPPoptional | string | This is First Data assigned value, if it is not available do not send this field with a default value. This is a mandatory field. · Example: |
retailIndustry.visaAUARoptional | string | If the AUAR value is not available do not send this field with a default value. Notes: 1. If both the TPP and AUAR are not available do not send either field with a default value. 2. Input length will be 6 (TPP data only), 17 (AUAR data only) or 23 (TPP and AUAR data present). If the field input length is not one of these values the input will be ignored. · Example: |
retailIndustry.mcTraceIdoptional | string | Must be included in subsequent /follow-ups transactions such as incremental authorization. · Example: |
retailIndustry.mcFraudVoidFlagoptional | string | A value of ‘Y’ will notify MasterCard that the sale was voided due to suspected fraud. · Example: |
retailIndustry.mcFinalAuthIndicatoroptional | string | MasterCard Final Authorization Indicator provides ability for the merchant to notify the Issuer whether the Authorization is final or not. * 0 - Unknown * 1 - Final Authorization - The settlement amount must equal the approved authorized amount. * 2 - Preauthorization - The settlement amount may be different than the approved amount authorized. · Example: |
retailIndustry.giftCardIndicatoroptional | string | This field is specific to Amex card present transactions. If the transaction amount contains the purchase of a gift card, then the merchant must send a value of “1” in this field to indicate that a Gift Card is purchased using an Amex Credit Card. Else, the merchant must send ‘0’. · Example: |
retailIndustry.transitAccessTermCardoptional | string | When Field is used for Transit Access Terminal, send Amex authorization with value of “Z” to indicate the transaction originated at a special terminal. When Field is used for Card Activation Terminal to indicate transaction was initiated from Mobile POS; send value of “9” for MasterCard and Visa, “M” for Discover, and a no value for Amex. Mobile POS are always attended devices and not cardholder activated. · Example: |
retailIndustry.mcWalletIdentifieroptional | string | This field is for applicable for MasterCard only; It is used to pass DE 48 SE 26 to MasterCard * 101 - MasterPass Remote - this value is present if the wallet data was created by the cardholder manually key-entering the data at a consumer-controlled device * 102 - MasterPass Remote NFC Payment - this value is present if the wallet data was initially created by the cardholder tapping his or her PayPass card or device at a contactless card reader (for example, a PayPass card reader or an ultrabook enabled to read PayPass cards) * 103 - Wallet Service Provider 1 - This value is used in the issuer optional real-time messages for tokenization request and notification · Example: |
retailIndustry.posLaneIDStoreNumoptional | string | * DE41 is concatenation of POS Lane ID/Store# and Device ID. * If the Field POS Lane ID/Store# is not present in request Payload, the Store# will be used from merchant master file. * If the Field POS Lane ID/Store# is not present in request Payload and store # in merchant master file is 0000, the DE41 will be defaulted to 8888 concatenated with Device ID. * If the Device ID is missing from Payload, the DE41 will be defaulted to POS Lane ID/Store# concatenated with 9999. * If the Field POS Lane ID/Store# is not present in request Payload, store # in merchant master file is 0000 and Device Id is also missing then the DE41 will be defaulted to 88889999 · Example: |
retailIndustry.merchInitiatedTransIndicatoroptional | string | This field indicates if the transaction is merchant initiated with cardholder credentials stored on file and the type of merchant initiated transaction. This field must be included with the value of ‘C’ whenever the cardholder credentials are being stored on file and it is possible that a future merchant initiated transaction other than a recurring payment or installment payment may be submitted with those cardholder credentials. The value of ‘S’ sends a COF value in the POS Entry Mode (Visa, MasterCard, and Discover) or POS Data Code (Amex). Merchants are subjected to submit an account verification transaction with the MIT Indicator value of ‘C’ if an unscheduled MIT is not being submitted at the time the cardholder credentials are being stored. If the cardholder credentials are being stored at the same time as an unscheduled transaction is being · Example: |
retailIndustry.digitalWalletIndicatoroptional | string | Indicates if the transaction is for a Staged or Pass-through Digital Wallet. This field can be included for all Digital Wallet transactions, but it must be included for Visa Staged Digital Wallet transactions. * S - Staged Digital Wallet * P - Pass-through Digital Wallet · Example: |
retailIndustry.digitalWalletProgramTypeoptional | string | This field identifies the brand of digital wallet used in a transaction · Example: |
retailIndustry.visaSpecConditionIndicatoroptional | string | This field identifies the DE 60.4 values for Visa transactions. * 7 - Purchase of Cryptocurrency. Applicable to MCC 6051 * 9 - Payment on Existing Debt. Applicable to MCC 6012 and 6051 · Example: |
retailIndustry.deferredAuthIndicatoroptional | string | Indicator designating that a transaction is a deferred authorization * Y - Deferred Authorization · Example: |
retailIndustry.customerCodeoptional | string | Merchant-assigned code; variable-length, optional field. ### Required field for supporting Amex Level 2 Transactions · Example: |
retailIndustry.merchantCertificateSerialNumberoptional | string | Merchant Secure Electronic Transaction Certificate Serial number; variable-length, optional field. · Example: |
retailIndustry.cardHolderSetSerialNumberoptional | string | Cardholder Secure Electronic Transaction Certificate Serial number; variable-length, optional field · Example: |
retailIndustry.xidoptional | string | XID - A unique transaction identifier assigned to a SET Transaction; Or TAVV - This is a cryptographic value that is generated during the Visa transaction authentication process i.e. an In-App token transaction. Note: Visa Only. Merchants must send the TAVV (Token Authentication Verification Value) in this field only when the merchant has both the CAVV and TAVV. Merchants with only TAVV must continue sending the TAVV in the original Secure Data field. · Example: |
retailIndustry.transStainoptional | string | A value used to define a merchant’s security settings for SET; variable-length, alphanumeric, optional field; valid code: 0 – 9 & A – F, Other values not valid. · Example: |
retailIndustry.mcProgramProtocoloptional | string | This field identifies the MasterCard 3DS version * 1 - 3DS Secure 1 * 2 - 3DS Secure 2 · Example: |
retailIndustry.mcDirSrvrTransIdoptional | string | This field identifies the MasterCard Directory Server Transaction ID. It is a Universally Unique Transaction ID (alphanumeric 36 bytes) which can be provided by the processors/acquirers as part of the authentication transaction. Example of a Directory Server Transaction ID: f38e6948-5388-41a6-bca4-b49723c19437 · Example: |
retailIndustry.inAppTokenCryptooptional | string | This is a cryptographic value that is generated during the MasterCard transaction authentication process i.e. an In-App token transaction. · Example: |
retailIndustry.remoteCommerceAcceptorIdoptional | string | Contains a merchant identifier in Base64 format, such as the merchant business website URL or reverse domain name as presented to the consumer during checkout. · Example: |
retailIndustry.posDataCodesoptional | string | POS Codes for American Express Ticket Only (Tran Code 3) transaction. Contact American Express to determine how these values are generated and used for American Express · Example: |
retailIndustry.shipToPostalCodeoptional | string | ### This is a required field for supporting Amex Level 2 Transactions. Supports 5 or 6 byte values. Length of 6 byte alphanumeric input can support both Domestic and International postal codes. · Example: |
lodgingIndustryoptional | object | Industry specific fields used by merchants in the hotel/lodging industry. industryType 4. Optional Object Field |
lodgingIndustry.arrivalDateoptional | string | Date (MMDDYY) the cardholder checks into the hotel; fixed-length, six-position, optional field |
lodgingIndustry.departDateoptional | string | Date (MMDDYY) the cardholder checks out of the hotel; fixed-length, six-position, optional field |
lodgingIndustry.specialProgramoptional | string | Code indicating the reason for the charge, especially when the cardholder did not stay at the hotel; optional field; * 1 - Normal charge, default code * 2 - Assured reservation, no show * 4 - Delayed charge * 5 - Express Service * 6 - Assured reservation |
lodgingIndustry.folioNumberoptional | string | Number assigned by the merchant indicating the hotel or lodging room number; variable length, optional field |
lodgingIndustry.operatorIDoptional | string | Operator Identification - Merchant-assigned code identifying the operator who entered the transaction; variable-length, optional field |
lodgingIndustry.amexChargeTypeoptional | string | Number identifying the type of business to American Express; optional field * 1 - Hotel example: "1" |
lodgingIndustry.authCharIndicatoroptional | string | Authorization Characteristics Indicator (ACI) - Code identifying the type of transaction approval; optional field; * I - Incremental Charge – American Express requires an Incremental charge to be processed in a Keyed format only. For Check Card processing an Incremental charge must be in a Swiped format only. When using Hotel format and performing an Incremental authorization. The additional authorization amount should be for the additional amount only. The Total Auth Amount field should contain the originally authorized amount plus the Additional amount. Also, the ACI value must be an “I” for the Incremental transaction. * P - Card is not present at time of the authorization request, but the cardholder is a preferred customer participant. * R - Recurring Charge. Set 'eci' field to '2' when recurring. * Y - Card is present or the card is not present and request for address verification is needed. Valid Values in Host Response * A - Card is present at the time of the authorization request * C - Card is present with merchant name and location data that was activated by the cardholder, self-service terminal * E - Card is present with merchant name and location data * F - Card is not present at time of authorization request. Account funding transaction * K - Card is present at time of authorization request. Key-entered. * N - Authorization did not qualify as a Custom Payment Service or the acquirer or merchant does not participate in the Custom Payment Service (CPS). * R - Recurring * U - Authorization request is for a CPS Electronic Commerce Preferred 3-D SecureSM transaction. * V - Request for address verification – Card not present. * W - Authorization request is for CPS Electronic Commerce Basic. * Blank - Authorization did not qualify as a Custom Payment Service transaction or the acquirer or merchant does not participate in Custom Payment Service, (CPS) · Example: Y |
lodgingIndustry.transactionIdentifieroptional | string | Code generated by the card associations on the authorization; known as TID for Visa and BankNet Reference Number for MasterCard; variable-length, optional field; edited for alphanumeric values Transaction Identifier (TID) is a required field for a ticket only transaction (Tran Code ‘3’) that is created from Original Auth Only. This TID should be the original TID returned on the auth-only response. Transaction Identifier (TID) is a required field for a merchant initiated sale transaction (Tran Code ‘1’) or merchant initiated authorization only transaction (Tran Code ‘4’). · Example: |
lodgingIndustry.marketSpecificIndicatoroptional | string | Code identifying the type of industry; optional field * H - Received hotel data * B - Visa Bill Pay * N - Did not receive market-specific data. |
lodgingIndustry.durationoptional | string | Merchant-entered number of nights stayed; optional field |
lodgingIndustry.extraChargesoptional | string | Code identifying additional charges; fixed length, six-position field if data exist. Else, optional field; valid code for each position * 2 - Restaurant * 3 - Gift Shop * 4 - Mini Bar * 5 - Telephone * 6 - Other * 7 - Laundry When there are less than six additional charges, the field must be left justified and space-filled to the right |
lodgingIndustry.totalAuthAmountoptional | string | Dollar-and-cent amount ($$$$$.¢¢) of the original authorization; variable-length, optional field; |
lodgingIndustry.pinBlockoptional | string | PIN Pad encrypted code; optional, fixed length field; This field applies only to Credit EMV (online PIN), EBT and Debit card transaction types. SMID ID field is required for sending a DUKPT (Derived Unique Key Per Transaction) PIN BLOCK. “For Debit Void and Debit reversal of partially approved amount, PIN BLOCK should be filled with '0's. For Example: 0000000000000000 for 16 digit length of PIN BLOCK.” |
lodgingIndustry.cardTypeIndicatoroptional | string | Character indicating the type of card. Credit or 'C' is assumed if field not in use. * C - Credit Card * D - Debit Card * F - EBT Food Stamp * B - EBT Benefits Transaction (Cash) * P - Pre-Paid Card * T - TIP - Transaction is open for a Revision (i.e. Tip acceptance) · Example: C |
lodgingIndustry.cashBackAmountoptional | string | Dollar-and-cent amount ($$$.¢¢) of a debit/EBT cash back amount; variable-length, optional field |
lodgingIndustry.surchargeoptional | string | Dollar-and-cent amount ($$$.¢¢) of the charge that the cardholder paid the merchant for the ability to perform the transaction; variable length, optional field. Position 1 contains the surcharge prefix. Valid values are '+' or '-'. '-' = Credit to the cardholder and '+' = Debit to the cardholder. Positions 2-9 contain the surcharge amount |
lodgingIndustry.aauthorizationCodeoptional | string | optional, variable-length field; Required filed if transaction is EBT Voucher Sale or TICKET ONLY (transaction type ‘3’) or Void Auth Only (transaction code ‘8’) |
lodgingIndustry.smidIDoptional | string | 20 digit Key Serial Number Format ‘’F” (1) + Base Derivation Key ID(BDK ID) (9) + DeviceId (5) + TranCounter (5). Security Management Information Data – variable-length field; This field applies only to Credit EMV (online PIN), EBT and Debit card transaction types. “For Debit Void and Debit reversal of partially approved amount, SMID ID should be filled with 'F's. For Example: FFFFFFFFFFFFFFFFFFFF for 20 digit length of SMID ID.” |
lodgingIndustry.partialAuthIndicatoroptional | string | Value that indicates to ETC Plus host that this POS application supports Partial Authorizations and Balance Information, This field is valid for Online Sale (ETC Tran Type =1). * 1 - Accepts Partial Authorizations and Balance from Issuer * 2 - Does Not Accept Partial Authorizations for an Estimated Transaction Amount and Balance from Issuer * 3 - Accepts Partial Authorizations for an Estimated Transaction Amount and Balance from Issuer · Example: 1 |
lodgingIndustry.fdrAssignedTPPoptional | string | This is First Data assigned value, if it is not available do not send this field with a default value. This is a mandatory field. · Example: |
lodgingIndustry.visaAUARoptional | string | If the AUAR value is not available do not send this field with a default value. Notes: 1. If both the TPP and AUAR are not available do not send either field with a default value. 2. Input length will be 6 (TPP data only), 17 (AUAR data only) or 23 (TPP and AUAR data present). If the field input length is not one of these values the input will be ignored. · Example: |
lodgingIndustry.mcTraceIDoptional | string | Must be included in subsequent follow-ups transactions such as incremental authorization. The Trace ID consists of the following: * First 9 digits contain the BankNet Reference Number that was received from MasterCard for original authorization * The next 4 digits contain the Settlement Date in the MMDD format * The 4 digit Settlement Date is followed by two spaces |
lodgingIndustry.mcFraudVoidFlagoptional | string | A value of ‘Y’ will notify MasterCard that the sale was voided due to suspected fraud · Example: Y |
lodgingIndustry.mcFinalAuthIndicatoroptional | string | MasterCard Final Authorization Indicator provides ability for the merchant to notify the Issuer whether the Authorization is final or not. * 0 - Unknown * 1 - Final Authorization - The settlement amount must equal the approved authorized amount * 2 - Preauthorization - The settlement amount may be different than the approved amount authorized. · Example: 1 |
lodgingIndustry.giftCardIndicatoroptional | string | This field is specific to Amex card present transactions. If the transaction amount contains the purchase of a gift card, then the merchant must send a value of “1” in this field to indicate that a Gift Card is purchased using an Amex Credit Card. Else, the merchant must send ‘0’. · Example: 0 |
lodgingIndustry.transitAccessTermCardIndoptional | string | When Field is used for Transit Access Terminal, send Amex authorization with value of “Z” to indicate the transaction originated at a special terminal. When Field is used for Card Activation Terminal to indicate transaction was initiated from Mobile POS; send value of “9” for MasterCard and Visa, “M” for Discover, and a no value for Amex. Mobile POS are always attended devices and not cardholder activated. |
lodgingIndustry.mcWalletIdentifieroptional | string | This field is for applicable for MasterCard only; * 101 - MasterPass Remote - this value is present if the wallet data was created by the cardholder manually key-entering the data at a consumer-controlled device * 102 - MasterPass Remote NFC Payment - this value is present if the wallet data was initially created by the cardholder tapping his or her PayPass card or device at a contactless card reader (for example, a PayPass card reader or an ultrabook enabled to read PayPass cards) * 103 - Wallet Service Provider 1 - This value is used in the issuer optional real-time messages for tokenization request and notification * Other Values - Other values may be transmitted by the merchant or the MasterPass Wallet |
lodgingIndustry.posLaneIDStoreoptional | string | Concatenation of POS Lane ID/Store# and Device ID. * If the Field POS Lane ID/Store# is not present in request Payload, the Store# will be used from merchant master file. * If the Field POS Lane ID/Store# is not present in request Payload and store # in merchant master file is 0000, the DE41 will be defaulted to 8888 concatenated with Device ID. * If the Device ID is missing from Payload, the DE41 will be defaulted to POS Lane ID/Store# concatenated with 9999. * If the Field POS Lane ID/Store# is not present in request Payload, store # in merchant master file is 0000 and Device Id is also missing then the DE41 will be defaulted to 88889999. |
lodgingIndustry.merchantInitiatedTransIndicatoroptional | string | This field indicates if the transaction is merchant initiated with cardholder credentials stored on file and the type of merchant initiated transaction. This field must be included with the value of ‘C’ whenever the cardholder credentials are being stored on file and it is possible that a future merchant initiated transaction other than a recurring payment or installment payment may be submitted with those cardholder credentials. Note: A ‘C’ does not send a COF value in the associations POS Entry Mode / POS Data Code. The ‘C’ indicates credentials are being stored for subsequent transactions. Installment payments are a type of merchant initiated transaction. Installment payment authorizations should not be preceded by a cardholder initiated transaction with a Merchant Initiated Transaction Indicator field value of ‘C’. Recurring payments are a type of merchant initiated transaction. Recurring payment authorizations should not be preceded by a cardholder initiated transaction with a Merchant Initiated Transaction Indicator field value of ‘C’. Installment and Recurring transactions are identified using the Phone Order/Mail Order/ECI Flag field. The value of ‘S’ sends a COF value in the POS Entry Mode (Visa, MasterCard, and Discover) or POS Data Code (Amex). Merchants are subjected to submit an account verification transaction with the MIT Indicator value of ‘C’ if an unscheduled MIT is not being submitted at the time the cardholder credentials are being stored. If the cardholder credentials are being stored at the same time as an unscheduled transaction is being performed, then only the unscheduled MIT should be submitted with MIT Indicator ‘U’. * 0 - Incremental Authorization * 1 - Resubmission * 2 - Delayed Charge * 3 - Reauthorization * 4 - No Show * 5 - Account Top Up * C - Cardholder credential stored on file for subsequent Credential on File transactions for both MIT and CIT * S - Customer Initiated COF subsequent transaction * U - Unscheduled Stored Credential MIT |
lodgingIndustry.digitalWalletIndicatoroptional | string | Indicates if the transaction is for a Staged or Pass-through Digital Wallet. This field can be included for all Digital Wallet transactions, but it must be included for Visa Staged Digital Wallet transactions. * S - Staged Digital Wallet * P - Pass-through Digital Wallet |
lodgingIndustry.visaSpecConditionIndicatoroptional | string | This field identifies the DE 60.4 values for Visa transactions * 7 - Purchase of Cryptocurrency. * 9 - Payment on Existing Debt. |
lodgingIndustry.deferredAuthIndicatoroptional | string | Indicator designating that a transaction is a deferred authorization. * Space - Not a Deferred Authorization * Y - Deferred Authorization · Example: Y |
lodgingIndustry.avsZipCodeoptional | string | Address Verification Service ZIP code – ZIP code of principal cardholder’s address entered for address verification; fixed-length, five position or nine-position, optional field; edited for numeric values |
lodgingIndustry.posDataCodesoptional | string | POS Codes for American Express Ticket Only (Tran Code 3) transaction. Contact American Express to determine how these values are generated and used for American Express. Optional Field, 3 Position, Fixed length field. Positions 5, 6, and 7 of electronic American Express direct transaction details. Contact American Express for more information on these POS Data Codes. Required field if Transaction Authorized by American Express and not Omaha ETC. |
200Transaction processed400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/transaction" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Fetch Request By Transaction Identifier
Bearer JWTor x-api-keyHost: https://dev-service.procharge.com/v1
Fetch request by transaction identifier
| Field | Type | Description |
|---|---|---|
transactionidrequired | string | Transaction identifier · Example: 523315023656 |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-service.procharge.com/v1/transaction/{transactionid}" \
-H "Authorization: Bearer <access_token>"BIN Check
Bearer JWTor x-api-keyHost: https://dev-service.procharge.com/v1
Card validation
| Field | Type | Description |
|---|---|---|
cardnumberrequired | string | First 6 to 8 digits of card number · Example: 530736 |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-service.procharge.com/v1/bindata/{cardnumber}" \
-H "Authorization: Bearer <access_token>"EMV Tags
Decode EMV tag data – either for a stored transaction or from a raw EMV TLV string.
Payment Log
Paged transaction history for the authenticated merchant, filterable by date range and search text.
Payment Log
Bearer JWTor x-api-key
Retrieve log entries for a specific merchant within a date range
| Field | Type | Description |
|---|---|---|
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
pagenumberrequired | integer | Page number to fetch · Example: 1 |
pagecountrequired | integer | Number of records to return per page · Example: 50 |
startdaterequired | string | Start date in ISO format · Example: 2022-05-26T19:00:00 |
enddaterequired | string | End date in ISO format · Example: 2022-12-31T19:00:00 |
filterrequired | string (all | info | error) | End date in UTC format · Example: all |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/payment/log/{pagenumber}/{pagecount}/{startdate}/{enddate}/{filter}" \
-H "Authorization: Bearer <access_token>"Receipts & Email
Send transaction receipts and templated email through the DeliverMe mail service host.
/api/receipt/{approvalcode}/{transactionid}/{emailaddress}/{ccemailaddress}Send Receipt With CC Email AddressEmail Receipt
Bearer JWTHost: https://api-dev.deliverme.com
Allows you to send a receipt to a customer. Use values from the payment request and response to populate emails fields.
| Field | Type | Description |
|---|---|---|
Sourceoptional | string | Example: noreply@electronicpayments.com |
Templateoptional | string | Example: emv_receipt |
Destinationoptional | object[] | |
Destination[].ToAddressesoptional | string | |
Typeoptional | integer (1 | 0) | * 0 - Use DeliverMe online order template. * 1 - Use buffer provided in TemplateData field. · Example: 1 |
TemplateDataoptional | string | The template data field follows a strict format. If any field is not properly escaped or a space exists between the property name and value or any field is missing the email will not deliver. Fields that require masking contain asterisks. · Example: {"businessname":"Jacks Pizza","merchantstreet":"7800 S Congress Ave","merchan… |
ConfigurationSetNameoptional | string | Providing this field allows Electronic Payments to receive notifications when emails fail to send. · Example: email-json |
200Transaction processed400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://api-dev.deliverme.com/api/email" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Send Receipt
Bearer JWTor x-api-keyHost: https://api-dev.deliverme.com
Send receipt to specified email address by authorization code and transaction identifie
| Field | Type | Description |
|---|---|---|
approvalcoderequired | string | Authorization number returned in payment transaction · Example: 123456 |
transactionidrequired | string | Transaction identifier returned in payment transaction · Example: 1234567890 |
emailaddressrequired | string | Destination Email Address · Example: john.doe@widget.com |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://api-dev.deliverme.com/api/receipt/{approvalcode}/{transactionid}/{emailaddress}" \
-H "Authorization: Bearer <access_token>"Send Receipt With CC Email Address
Bearer JWTor x-api-keyHost: https://api-dev.deliverme.com
Send receipt to specified email and cc email address by authorization code and transaction identifier
| Field | Type | Description |
|---|---|---|
approvalcoderequired | string | Authorization number returned in payment transaction · Example: 123456 |
transactionidrequired | string | Transaction identifier returned in payment transaction · Example: 1234567890 |
emailaddressrequired | string | Destination Email Address · Example: john.doe@widget.com |
ccemailaddressrequired | string | CC Email Address · Example: jane.doe@widget.com |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://api-dev.deliverme.com/api/receipt/{approvalcode}/{transactionid}/{emailaddress}/{ccemailaddress}" \
-H "Authorization: Bearer <access_token>"Batching & Settlement
Open-batch totals, batch transaction detail, and terminal-style batch settlement (settle, trailer, inquiry, upload) against the Cygma back end.
Batch Total (Cygma Only)
Bearer JWT
Before the Merchant batches out a 500 Settlement batch total message is sent with ProcessingCode 00 to Cygma/Switch to get the batch total. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-api-keyoptional | string | Merchant Application Key. Sending this header is highly recommended but is optional. In the future will be required. · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
merchantNumberrequired | string | Number assigned by merchant financial institution · Example: 889901550594702 |
acquirerIDoptional | string | Code identifying the acquiring institution (e.g. merchant's bank) or its agent. Optional · Example: 411763 |
terminalIDoptional | string | The terminal ID, assigned by CYGMA, is used to uniquely identify the terminal within a card acceptor acquirer ID. Optional · Example: PROCHG02 |
batchNumberrequired | string | Sent to the Host in all request messages. The terminal assigns the Batch Number when the batch is closed. Batch numbers may be set during terminal initialization. Required for Normal Capture and not present in Pure Host Capture. Zero padded · Example: 00026 |
200Success400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/batch/totals" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Get All Payment Records For A Batch (Cygma Only)
Bearer JWT
Fetch all payment records from ProCharge by merchant id and batch id for transaction codes 1, 2 and 3 and that were approved only, no declines will be included. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-api-keyoptional | string | Merchant Application Key. Sending this header is highly recommended but is optional. In the future will be required. · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
midrequired | number | The Procharge merchant id assigned to the batch. You may send the merchant number/card acquirer id insted of the merchant id as well. · Example: 889901550594702 |
batchidrequired | number | The batch id for a given batch. You may send the merchant number or card aquirer id instead of the procharge batch id. · Example: 285630965 |
200Success400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/batch/transactions/{mid}/{batchid}" \
-H "Authorization: Bearer <access_token>"Close Batch
Bearer JWT
Will settle and close an open batch. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-api-keyrequired | string | Merchant Application Key. Sending this header is highly recommended but is optional. In the future will be required. · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
merchantNumberrequired | string | The merchant number associated with the terminal is assigned by CYGMA · Example: 889901550594702 |
acquirerIDoptional | string | Code identifying the acquiring institution (e.g. merchant's bank) or its agent. Required for bulk uploads otherwise optional · Example: 411763 |
terminalIDoptional | string | The terminal ID, assigned by CYGMA, is used to uniquely identify the terminal within a card acceptor acquirer ID. Required for bulk uploads otherwise optional · Example: PROCHG02 |
batchNumberrequired | string | Sent to the Host in all request messages. Batch numbers will be set during terminal initialization. Required for Normal Capture and not present in Pure Host Capture. Zero padded · Example: 00001 |
batchIDrequired | string | Record id for the batch number in ProCharge. Not required for bulk uploads otherwise required · Example: 12345 |
creditCardSalesCountrequired | number | Total number of credit card transaction in the batch. · Example: 5 |
creditCardSalesAmountrequired | number | Total dollar amount of credit card sales in the batch. Format $$$$$$$$$$¢¢ · Example: 2500 |
creditCardRefundCountrequired | number | Total number of credit card refunds in the batch. · Example: 1 |
creditCardRefundAmountrequired | number | Total dollar amount of credit card refunds in the batch. Format $$$$$$$$$$¢¢ · Example: 500 |
debitCardSalesCountrequired | number | Total number of debit card sales in the batch. · Example: 2 |
debitCardSalesAmountrequired | number | Total dollar amount of debit card sales in the batch. Format $$$$$$$$$$¢¢ · Example: 1000 |
debitCardRefundCountrequired | number | Total number of debit card refunds in the batch. · Example: 1 |
debitCardRefundAmountrequired | number | Total dollar amount of debit card refunds in the batch. Format $$$$$$$$$$¢¢ · Example: 500 |
| Field | Type | Description |
|---|---|---|
merchantNumberrequired | string | The merchant number associated with the terminal is assigned by CYGMA · Example: 889901550594702 |
terminalIDoptional | string | The terminal ID, assigned by Fiserv, is used to uniquely identify the terminal for the merchant number. Pass 0 for online processing · Example: PP001. |
batchNumberrequired | string | Sent to the Host in all request messages. Batch numbers will be set during terminal initialization. Required for Normal Capture and not present in Pure Host Capture. · Example: 0 |
batchIDrequired | integer | Record id for the batch number in ProCharge. Not required for bulk uploads otherwise required · Example: 12345 |
deviceIDoptional | string | Device ID for the batch in ProCharge. Not required for bulk uploads otherwise required · Example: 12345 |
batchedItemsoptional | integer | Total number of offline items in the batch plus 1. Required · Example: 12345 |
itemNumberrequired | integer | Total number of items in the batch plus 1. Required · Example: 12345 |
totalBatchAmountrequired | number | Total amount to be settled for the batch. Required · Example: 125.00 |
200Batch Settlment Processed400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/batch/settle" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Batch Settlement Trailer (Cygma Only)
Bearer JWT
To be performed after batch upload (MessageType 0320). Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-api-keyrequired | string | Merchant Application Key. Sending this header is highly recommended but is optional. In the future will be required. · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
merchantNumberrequired | string | The merchant number associated with the terminal is assigned by CYGMA · Example: 889901550594702 |
acquirerIDoptional | string | Code identifying the acquiring institution (e.g. merchant's bank) or its agent. Optional · Example: 411763 |
terminalIDoptional | string | The terminal ID, assigned by CYGMA, is used to uniquely identify the terminal within a card acceptor acquirer ID. Optional · Example: PROCHG02 |
batchNumberrequired | string | Sent to the Host in all request messages. The terminal assigns the Batch Number when the batch is closed. Batch numbers may be set during terminal initialization. Required for Normal Capture and not present in Pure Host Capture. Zero padded · Example: 00001 |
batchIDrequired | string | Record id for the batch number in ProCharge. Not required for bulk uploads otherwise required · Example: 12345 |
creditCardSalesCountrequired | number | Total number of credit card transaction in the batch. · Example: 5 |
creditCardSalesAmountrequired | number | Total dollar amount of credit card sales in the batch. Format $$$$$$$$$$¢¢ · Example: 2500 |
creditCardRefundCountrequired | number | Total number of credit card refunds in the batch. · Example: 1 |
creditCardRefundAmountrequired | number | Total dollar amount of credit card refunds in the batch. Format $$$$$$$$$$¢¢ · Example: 500 |
debitCardSalesCountrequired | number | Total number of debit card sales in the batch. · Example: 2 |
debitCardSalesAmountrequired | number | Total dollar amount of debit card sales in the batch. Format $$$$$$$$$$¢¢ · Example: 1000 |
debitCardRefundCountrequired | number | Total number of debit card refunds in the batch. · Example: 0 |
debitCardRefundAmountrequired | number | Total dollar amount of debit card refunds in the batch. Format $$$$$$$$$$¢¢ · Example: 0 |
200Transaction processed400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/batch/settlementtrailer" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Deposit Inquiry (Fiserv Only)
Bearer JWT
The deposit inquiry transaction allows a merchant to view the last batch closed with the same Merchant Number and Device Id from previous processing day.
| Field | Type | Description |
|---|---|---|
applicationKeyrequired | string | Application key specific to a merchant that allows them to process payments |
targetrequired | string (9 | 6) | Target Environment * 6 - Production * 9 - Sandbox · Example: 9 |
terminalIDrequired | string | Terminal identification - code identifying the balancing features available to the POS from the Host; variable-length, nine-position (includes decimal point), required field · Example: PP001. |
merchantNumberrequired | string | Number assigned by merchant's financial institution; variable-length, 19-position, required field; edited for valid merchant number · Example: 889901550594702 |
deviceIDrequired | string | ### Device Identification - Merchant-assigned code identifying the device at the merchant's location; variable-length, optional field; edited for alphanumeric values This field is required if there is one MERCHANT NUMBER assigned to more than one terminal at a merchant's location. It is also required during certification. |
200Transaction processed400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/batch/inquiry" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Batch Upload Request (Cygma Only)
Bearer JWT
A Batch Upload message is used when the terminal and host are out of balance. The Terminal is expected to send a Batch Upload message for each captured transaction. After all captured transactions are uploaded a settlement trailer request will need to be submitted. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-api-keyoptional | string | Merchant Application Key. Sending this header is highly recommended but is optional. In the future will be required. · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
merchantNumberrequired | string | Number assigned by merchant financial institution · Example: 889901550594702 |
acquirerIDoptional | string | Code identifying the acquiring institution (e.g. merchant's bank) or its agent. Optional · Example: 411763 |
terminalIDoptional | string | The terminal ID, assigned by CYGMA, is used to uniquely identify the terminal within a card acceptor acquirer ID. Optional · Example: PROCHG02 |
batchNumberrequired | string | Sent to the Host in all request messages. The terminal assigns the Batch Number when the batch is closed. Batch numbers may be set during terminal initialization. Required for Normal Capture and not present in Pure Host Capture. Zero padded · Example: 00026 |
amountrequired | string | Transaction amount that was approved. |
LocalTransactionDateoptional | string | The date stamp of the transaction when it was originally entered into the POS. |
LocalTransactionTimeoptional | string | The local timestamp (based on the time zone for which the terminal is located) of the transaction. |
cardNumberoptional | string | The Primary Account Number (PAN) that was used to pay for the order. Do not send if sending Track2Data or card token |
tokenrequired | string | Card token that was returned by the original transaction request. If present will override Track2Data or Card Number. |
trackDataoptional | string | Track 2 data that was used on the original transaction request. Do not send if sending Token or PAN. |
retrievalReferenceNumberoptional | string | Retrieval Reference Number that was returned by the original transaction request. This would be the Transaction Identifier. |
approvalCoderequired | string | Approval code that was returned by the original transaction request |
itemNumberrequired | string | InvoiceERCReferenceNumber aka Item Number that was submitted for the original transaction request. |
200Success400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/batch/upload" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Cygma Reporting
Look up settled Cygma transactions and batches by batch number, STAN, reference number, transaction id, or date range.
Get Transactions (Cygma Only)
Bearer JWT
Fetch all transactions by batch number. This request returns results from the transactions recorded in the cloud Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-api-keyoptional | string | Merchant Application Key. Sending this header is highly recommended but is optional. In the future will be required. · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
| Field | Type | Description |
|---|---|---|
batchnorequired | string | The batch number to retrieve transactions for. · Example: 2 |
200Success400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/cygma/batch/{batchno}" \
-H "Authorization: Bearer <access_token>"Get Transaction (Cygma Only)
Bearer JWT
Fetch transaction by system trace audit number. This request returns results from the transactions recorded in the cloud Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-api-keyoptional | string | Merchant Application Key. Sending this header is highly recommended but is optional. In the future will be required. · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
| Field | Type | Description |
|---|---|---|
stanrequired | number | The system trace audit number number assigned to a transaction. · Example: 21165 |
200Success400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/cygma/stan/{stan}" \
-H "Authorization: Bearer <access_token>"Get Cygma Transaction (Cygma Only)
Bearer JWT
Fetch transaction by retrieval reference number. This request returns results from the transactions recorded in the cloud
| Field | Type | Description |
|---|---|---|
x-api-keyoptional | string | Merchant Application Key. Sending this header is highly recommended but is optional. In the future will be required. · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
| Field | Type | Description |
|---|---|---|
refnorequired | string | The retrieval reference number assigned to a transaction. · Example: 516305021141 |
200Success400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/cygma/refno/{refno}" \
-H "Authorization: Bearer <access_token>"Get Transaction (Cygma Only)
Bearer JWT
Fetch transaction by network transaction identifier. This request returns results from the transactions recorded in the cloud Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-api-keyoptional | string | Merchant Application Key. Sending this header is highly recommended but is optional. In the future will be required. · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
| Field | Type | Description |
|---|---|---|
transidrequired | string | The network transaction identifier assigned to a transaction. · Example: 516305021141 |
200Success400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/cygma/transid/{transid}" \
-H "Authorization: Bearer <access_token>"Get Transactions (Cygma Only)
Bearer JWT
Fetch transaction by date range. This request return results from the transactions recorded in the cloud.
| Field | Type | Description |
|---|---|---|
x-api-keyoptional | string | Merchant Application Key. Sending this header is highly recommended but is optional. In the future will be required. · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
| Field | Type | Description |
|---|---|---|
startdaterequired | string | Beginning date GMT · Example: 2025-06-24T04:00:00.000 |
enddaterequired | string | End date GMT · Example: 2025-06-25T23:59:59.999 |
pagenorequired | number | Page number to fetch · Example: 1 |
pagecountrequired | number | Total number of records to return per page · Example: 50 |
200Success400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/cygma/{startdate}/{enddate}/{pageno}/{pagecount}" \
-H "Authorization: Bearer <access_token>"Batch History (Cygma Only)
Bearer JWT
Fetch all close batch requests by date range. This request return results from the transactions recorded in the cloud.
| Field | Type | Description |
|---|---|---|
x-api-keyoptional | string | Merchant Application Key. Sending this header is highly recommended but is optional. In the future will be required. · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
| Field | Type | Description |
|---|---|---|
startdaterequired | string | Beginning date GMT · Example: 2025-06-24T04:00:00.000 |
enddaterequired | string | End date GMT · Example: 2025-06-25T23:59:59.999 |
pagenorequired | number | Page number to fetch · Example: 1 |
pagecountrequired | number | Total number of records to return per page · Example: 50 |
200Success400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/cygma/batches/{startdate}/{enddate}/{pageno}/{pagecount}" \
-H "Authorization: Bearer <access_token>"ACH – Request Access Token
Exchange your bearer token for a short-lived ACH access token. Every other ACH endpoint requires it in the x-ach-access-token header.
ACH Request Access Token
Bearer JWT
The access_token returned from a successful call will be used as the "Access Token" for OAuth 2.0 Authorization when making API calls. Pass this token to all other ach calls in the x-ach-access-token header.
| Field | Type | Description |
|---|---|---|
x-ach-client-idrequired | string | Merchant Client ID. Will be assigned once merchant has been boarded with Vericheck. · Example: d9e9376f-299b-4022-9d47-03f358ab34ef |
x-ach-client-keyrequired | string | Merchant Client Secret. Will be assigned once merchant has been boarded with Vericheck. · Example: CVt8Q~VsAl1SxJ~8AdeVCgFIcNm5VwIYRD0A7acN |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/ach/authenticate" \ -H "Authorization: Bearer <access_token>"
ACH – Customers
Create, update, and list the ACH customers (name, contact, bank account) that payments, payouts, and prenotes reference.
Add Customer
Bearer JWTor x-api-key+ x-ach-access-token
Create a new customer to allow setup of subscription transactions, and track customer activity. __Note__ Bank account numbers must be unique. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
namerequired | string | Customer Name |
emailrequired | string | Customer Email Address |
phonerequired | string | Customer Phone Number |
bank_accountrequired | object | |
bank_account.routing_numberoptional | string | Bank Routing Number - for Sandbox use 130000006, 140000009, 150000002, 160000005, 170000008, 180000001, 190000004 · Example: 130000006 |
bank_account.account_numberoptional | string | Bank Account Number - 4-17 chars |
bank_account.account_typeoptional | string (Checking | Savings | Loan | General Ledger) | * Checking, Savings, Loan, General Ledger · Example: Checking |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/ach/customer" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Update Customer
Bearer JWTor x-api-key+ x-ach-access-token
Update a specific customer to modify any current account and/or demographic data by passing the specific values in the body params list. The specified customer is updated by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
uuidrequired | string | Customer ID · Example: CUS_5924215528622940167897456456 |
nameoptional | string | Customer Name |
emailoptional | string | Customer Email Address |
phoneoptional | string | Customer Phone Number |
activeoptional | boolean | |
bank_accountoptional | object | |
bank_account.routing_numberoptional | string | Bank Routing Number - for Sandbox use 130000006, 140000009, 150000002, 160000005, 170000008, 180000001, 190000004 · Example: 130000006 |
bank_account.account_numberoptional | string | Bank Account Number - 4-17 chars |
bank_account.account_typeoptional | string (Checking | Savings | Loan | General Ledger) | * Checking, Savings, Loan, General Ledger · Example: Checking |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X PUT "https://dev-api.procharge.com/api/ach/customer" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
List Customers
Bearer JWTor x-api-key+ x-ach-access-token
Retrieve a list of customers to review their current account and demographic data. Below video demonstrates how to get an authorization token so you can try out the examples.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
sortrequired | string | Sorts by created_at or name (use '-' for descending, '+' for ascending followed by 'created_at or 'name') · Example: -created_at |
pagelimitrequired | integer | Number of record to be returned per page · Example: 100 |
pagenumberrequired | integer | Page number to be fetched · Example: 1 |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/ach/customer/{sort}/{pagelimit}/{pagenumber}" \
-H "Authorization: Bearer <access_token>" \
-H "x-ach-access-token: <ach_token>"Get Customer Detail
Bearer JWTor x-api-key+ x-ach-access-token
Retrieve information for a specific customer to review account and demographic details. Use the unique customer uuid provided when the customer was created.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
customer_uuidrequired | string | Retrieve detail for a specific customer · Example: CUS_5861788066656788487897456456 |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/ach/customer/{customer_uuid}" \
-H "Authorization: Bearer <access_token>" \
-H "x-ach-access-token: <ach_token>"ACH – Payments
Debit a customer bank account: create payments (by bank details or token), search payment history, fetch or cancel a payment.
List Payments
Bearer JWTor x-api-key+ x-ach-access-token
Retrieve a list of payments you've previously created. The payments are returned in sorted order based on the sort query param, or by default of the most recent payments appearing first. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
sortrequired | string | sort by create_date, status, amount, name (use '-' for descending) · Example: -1 |
pageLimitrequired | integer | number of record to be returned per page · Example: 100 |
pageNumberrequired | integer | page number to be returned · Example: 1 |
statusrequired | string | must be one of: ACCEPTED, ERROR, ORIGINATED, SETTLED, PARTIAL SETTLED, VERIFYING, VOID, RETURN, NSF DECLINED |
createdAtGterequired | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
createdAtLterequired | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
originatedAtGteoptional | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
originatedAtLteoptional | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
settledAtGteoptional | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
settledAtLteoptional | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
returnedAtGteoptional | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
returnedAtLteoptional | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/ach/payments" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Get Payment Detail
Bearer JWTor x-api-key+ x-ach-access-token
Retrieve information for a specific payment that was previously created. Supply the unique payment uuid that was returned during the original payment creation and the API will return the corresponding payment details. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
payment_uuidrequired | string | View payment detail for a specific payment transaction · Example: PMT_13SY8BB308C8F70A14B0CB487198670C9B863 |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/ach/payment/{payment_uuid}" \
-H "Authorization: Bearer <access_token>" \
-H "x-ach-access-token: <ach_token>"Update Payment
Bearer JWTor x-api-key+ x-ach-access-token
Update a payment. Use this to update a previously created payment in Accepted status, that you want to void for example.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
payment_uuidrequired | string | Payment uuid · Example: PMT_13SY8BADB835D5EFE4612BC8FCC544D0C12CD |
| Field | Type | Description |
|---|---|---|
statusoptional | string | Example: VOID |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X PUT "https://dev-api.procharge.com/api/ach/payment/{payment_uuid}" \
-H "Authorization: Bearer <access_token>" \
-H "x-ach-access-token: <ach_token>" \
-H "Content-Type: application/json" \
-d @request.json # see the JSON tabMake Payment
Bearer JWTor x-api-key+ x-ach-access-token
Create a new payment transaction with the customer object. Payment data including the customer account and contact information is used to create a new payment for the customer. This is when the customer is making a payment to the merchant
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
amountrequired | number | |
standard_entry_classrequired | string | Must be one of: PPD, CCD, BOC, WEB, TEL, POP Valid values: ACK 	 ACH Payment Acknowledgment ARC 	 Accounts Receivable Entry ATX 	 Financial EDI Acknowledgment BOC 	 Back Office Conversion Entry CCD 	 Corporate Credit or Debit Entry CIE 	 Customer Initiated Entry COR 	 Notification of Change or Refused Notification of Change CTX 	 Corporate Trade Exchange DNE 	 Death Notification Entry ENR 	 Automated Enrollment Entry IAT 	 International ACH Transactions MTE 	 Machine Transfer Entry POP 	 Point-of-Purchase Entry POS 	 Point-of-Sale Entry PPD 	 Prearranged Payment and Deposit Entry RCK 	 Re-presented Check Entry SHR 	 Shared Network Transaction TEL 	 Telephone-Initiated Entry TRC 	 Check Truncation Entry TRX 	 Check Truncation Entries Exchange WEB 	 Internet-Initiated/Mobile Entry · Example: WEB |
descriptionrequired | string | Description of the transaction. Up to 10 character description |
addendaoptional | string | A label sent to the customer for something they would identify like an invoice number. |
customeroptional | object | |
customer.namerequired | string | Customer Name |
customer.emailoptional | string | Customer Email |
customer.activeoptional | boolean | true / false |
customer.bank_accountoptional | object | |
customer.bank_account.routing_numberrequired | string | Customer Bank Routing Number · Example: 021406667 |
customer.bank_account.account_numberrequired | string | Customer Bank Account Number · Example: 0130005457 |
customer.bank_account.account_typerequired | string | Valid values: CHECKING, SAVINGS, LOAN, GL · Example: checking |
checkoptional | object | |
check.check_numberoptional | string | Check Number - required for POP SEC |
check.check_image_frontoptional | string | Front of Check Image- required for POP SEC |
check.check_image_backoptional | string | Back of Check Image- required for POP SEC |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/ach/payment" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Make Payment With Customer Token
Bearer JWTor x-api-key+ x-ach-access-token
Create a new payment transaction with the customer object. Payment data including the customer account and contact information is used to create a new payment for the customer.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
Idempotency-Keyoptional | string | Example: IK-3941a37f-4f7d-4f36-9b94-14f02b4312a9 |
| Field | Type | Description |
|---|---|---|
amountrequired | number | |
standard_entry_classrequired | string | Must be one of: PPD, CCD, BOC, WEB, TEL, POP Valid values: ACK 	 ACH Payment Acknowledgment ARC 	 Accounts Receivable Entry ATX 	 Financial EDI Acknowledgment BOC 	 Back Office Conversion Entry CCD 	 Corporate Credit or Debit Entry CIE 	 Customer Initiated Entry COR 	 Notification of Change or Refused Notification of Change CTX 	 Corporate Trade Exchange DNE 	 Death Notification Entry ENR 	 Automated Enrollment Entry IAT 	 International ACH Transactions MTE 	 Machine Transfer Entry POP 	 Point-of-Purchase Entry POS 	 Point-of-Sale Entry PPD 	 Prearranged Payment and Deposit Entry RCK 	 Re-presented Check Entry SHR 	 Shared Network Transaction TEL 	 Telephone-Initiated Entry TRC 	 Check Truncation Entry TRX 	 Check Truncation Entries Exchange WEB 	 Internet-Initiated/Mobile Entry |
customeroptional | object | |
customer.uuidrequired | string | Example: CUS_836216284255727616abc3742419 |
descriptionrequired | string | Description of the transaction. Maximum 10 chars |
addendaoptional | string | A label sent to the customer for something they would identify like an invoice number. |
checkoptional | object | |
check.check_numberoptional | string | Check Number - required for POP SEC |
check.check_image_frontoptional | string | Front of Check Image- required for POP SEC |
check.check_image_backoptional | string | Back of Check Image- required for POP SEC |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/ach/payment/token" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
ACH – Payouts
Credit (push funds to) a customer bank account: create payouts, search payout history, fetch or cancel a payout.
Make Payout
Bearer JWTor x-api-key+ x-ach-access-token
Create a new payout transaction with the customer object. This will create a credit payout to an entity e.g. customer, vendor, using the customer account and contact information. This is when the merchant is depositing funds to the customer's account. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
amountrequired | number | |
standard_entry_classrequired | string | Must be one of: PPD, CCD, BOC, WEB, TEL, POP Valid values: ACK 	 ACH Payment Acknowledgment ARC 	 Accounts Receivable Entry ATX 	 Financial EDI Acknowledgment BOC 	 Back Office Conversion Entry CCD 	 Corporate Credit or Debit Entry CIE 	 Customer Initiated Entry COR 	 Notification of Change or Refused Notification of Change CTX 	 Corporate Trade Exchange DNE 	 Death Notification Entry ENR 	 Automated Enrollment Entry IAT 	 International ACH Transactions MTE 	 Machine Transfer Entry POP 	 Point-of-Purchase Entry POS 	 Point-of-Sale Entry PPD 	 Prearranged Payment and Deposit Entry RCK 	 Re-presented Check Entry SHR 	 Shared Network Transaction TEL 	 Telephone-Initiated Entry TRC 	 Check Truncation Entry TRX 	 Check Truncation Entries Exchange WEB 	 Internet-Initiated/Mobile Entry · Example: WEB |
descriptionrequired | string | Description of the transaction. Up to 10 character description |
addendaoptional | string | A label sent to the customer for something they would identify like an invoice number. |
customeroptional | object | |
customer.namerequired | string | Customer Name |
customer.emailoptional | string | Customer Email |
customer.activeoptional | boolean | true / false |
customer.bank_accountoptional | object | |
customer.bank_account.routing_numberrequired | string | Customer Bank Routing Number · Example: 021406667 |
customer.bank_account.account_numberrequired | string | Customer Bank Account Number · Example: 0130005457 |
customer.bank_account.account_typerequired | string | Valid values: CHECKING, SAVINGS, LOAN, GL · Example: checking |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/ach/payout" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Make Payout With Customer Token
Bearer JWTor x-api-key+ x-ach-access-token
Create a new payout transaction with the customer token. This will create a credit payout to an entity e.g. customer, vendor, using the customer token provided for a previously created customer. This is when the merchant is depositing funds to another customer's account.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
amountrequired | number | |
standard_entry_classrequired | string | Must be one of: PPD, CCD, BOC, WEB, TEL, POP Valid values: ACK 	 ACH Payment Acknowledgment ARC 	 Accounts Receivable Entry ATX 	 Financial EDI Acknowledgment BOC 	 Back Office Conversion Entry CCD 	 Corporate Credit or Debit Entry CIE 	 Customer Initiated Entry COR 	 Notification of Change or Refused Notification of Change CTX 	 Corporate Trade Exchange DNE 	 Death Notification Entry ENR 	 Automated Enrollment Entry IAT 	 International ACH Transactions MTE 	 Machine Transfer Entry POP 	 Point-of-Purchase Entry POS 	 Point-of-Sale Entry PPD 	 Prearranged Payment and Deposit Entry RCK 	 Re-presented Check Entry SHR 	 Shared Network Transaction TEL 	 Telephone-Initiated Entry TRC 	 Check Truncation Entry TRX 	 Check Truncation Entries Exchange WEB 	 Internet-Initiated/Mobile Entry |
customeroptional | object | |
customer.uuidrequired | string | Example: CUS_836216284255727616abc3742419 |
descriptionrequired | string | Description of the transaction. Maximum 10 chars |
addendaoptional | string | A label sent to the customer for something they would identify like an invoice number. |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/ach/payout/token" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
List Payouts
Bearer JWTor x-api-key+ x-ach-access-token
Retrieve a list of payouts you've previously created. The payouts are returned in sorted order based on the sort query param, or by default of the most recent payouts appearing first. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
sortrequired | string | sort by create_date, status, amount, name (use '-' for descending) · Example: -1 |
pageLimitrequired | integer | number of record to be returned per page · Example: 100 |
pageNumberrequired | integer | page number to be returned · Example: 1 |
statusrequired | string | must be one of: ACCEPTED, ERROR, ORIGINATED, SETTLED, PARTIAL SETTLED, VERIFYING, VOID, RETURN, NSF DECLINED |
createdAtGterequired | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
createdAtLterequired | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
originatedAtGteoptional | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
originatedAtLteoptional | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
settledAtGteoptional | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
settledAtLteoptional | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
returnedAtGteoptional | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
returnedAtLteoptional | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/ach/payouts" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Get Payout Detail
Bearer JWTor x-api-key+ x-ach-access-token
Retrieve information for a specific Payout transaction. Use the unique payout transaction uuid for a payout transaction to retrieve the details for the specific payout.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
payout_uuidrequired | string | Payout uuid · Example: POT_13SY8B73B83BFB7B142D0A9111814A5DD237C |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/ach/payout/{payout_uuid}" \
-H "Authorization: Bearer <access_token>" \
-H "x-ach-access-token: <ach_token>"Update Payout
Bearer JWTor x-api-key+ x-ach-access-token
Update a payout. Use this to update a previously created payout in Accepted status that you want to void.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
payout_uuidrequired | string | Payout uuid · Example: POT_13SY8B73B83BFB7B142D0A9111814A5DD237C |
| Field | Type | Description |
|---|---|---|
statusoptional | string | Example: VOID |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X PUT "https://dev-api.procharge.com/api/ach/payout/{payout_uuid}" \
-H "Authorization: Bearer <access_token>" \
-H "x-ach-access-token: <ach_token>" \
-H "Content-Type: application/json" \
-d @request.json # see the JSON tabACH – Refunds
Refund a settled ACH payment in full or in part, search refund history, fetch or cancel a refund.
List Refunds
Bearer JWTor x-api-key+ x-ach-access-token
Retrieve a list of refunded payments you've previously created. The refunds are returned in sorted order based on the sort query param, or by default of the most recent refunds appearing first. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
sortrequired | string | sort by create_date, status, amount, name (use '-' for descending) · Example: -1 |
pageLimitrequired | integer | number of record to be returned per page · Example: 100 |
pageNumberrequired | integer | page number to be returned · Example: 1 |
statusrequired | string | must be one of: ACCEPTED, ERROR, ORIGINATED, SETTLED, PARTIAL SETTLED, VERIFYING, VOID, RETURN, NSF DECLINED |
createdAtGterequired | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
createdAtLterequired | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
originatedAtGteoptional | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
originatedAtLteoptional | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
settledAtGteoptional | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
settledAtLteoptional | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
returnedAtGteoptional | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
returnedAtLteoptional | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/ach/refunds" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Post Refund
Bearer JWTor x-api-key+ x-ach-access-token
Create a new Refund transaction using the original payment transaction UUID. This will refund a previous payment transaction that has Settled status. This is when the merchant is refunding a payment to a clients's account. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
original_payment_uuidoptional | string | Example: PMT_RV6TUD9A8714C7B5C43279BE72A255B17C0D4 |
amountoptional | number | Example: 1.00 |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/ach/refund" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Get Refund Detail
Bearer JWTor x-api-key+ x-ach-access-token
Retrieve information for a specific refund transaction. Use the unique transaction uuid for a refund payment to retrieve the details for the specific refund. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
refund_uuidrequired | string | View detail for a specific refund transaction · Example: RFN_13SY8613B3FB2D8A24EF3B2A9F69E316C11AD |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/ach/refund/{refund_uuid}" \
-H "Authorization: Bearer <access_token>" \
-H "x-ach-access-token: <ach_token>"Update Refund
Bearer JWTor x-api-key+ x-ach-access-token
Void a refund. Use this to update a previously created refund that you want to void.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
refund_uuidrequired | string | Refund uuid · Example: RFN_13SY8884755FA069644A4926A253D576DE3D3 |
| Field | Type | Description |
|---|---|---|
statusoptional | string | Example: VOID |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X PUT "https://dev-api.procharge.com/api/ach/refund/{refund_uuid}" \
-H "Authorization: Bearer <access_token>" \
-H "x-ach-access-token: <ach_token>" \
-H "Content-Type: application/json" \
-d @request.json # see the JSON tabACH – Bank Validations (PreNotes)
Zero-dollar prenote validation of a customer bank account before moving real money, plus prenote search, fetch, and cancel.
List Validations
Bearer JWTor x-api-key+ x-ach-access-token
Retrieve a list of bank account validation requests you've previously created. The bank account validations are returned in sorted order based on the sort or by default of the most recent validations appearing first.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
sortrequired | string | sort by create_date, status, amount, name (use '-' for descending) · Example: -1 |
pageLimitrequired | integer | number of record to be returned per page · Example: 100 |
pageNumberrequired | integer | page number to be returned · Example: 1 |
statusrequired | string | must be one of: ACCEPTED, ERROR, ORIGINATED, SETTLED, PARTIAL SETTLED, VERIFYING, VOID, RETURN, NSF DECLINED |
createdAtGterequired | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
createdAtLterequired | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
originatedAtGteoptional | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
originatedAtLteoptional | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
settledAtGteoptional | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
settledAtLteoptional | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
returnedAtGteoptional | string | Date is greater than or equal to. Use YYYY-MM-DD HH:MM:SS |
returnedAtLteoptional | string | Date is less than or equal to. Use YYYY-MM-DD HH:MM:SS |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/ach/validations" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Validate Bank Account
Bearer JWTor x-api-key+ x-ach-access-token
Create a new bank account validation request (prenote) transaction with the customer object. Request (Prenote) data including the customer account and contact information is used to create a new request (prenote) to validate a bank account for the customer. Prenotes are used to validate the accuracy of the account information for the customer.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
standard_entry_classrequired | string | Must be one of: PPD, CCD, BOC, WEB, TEL, POP Valid values: ACK 	 ACH Payment Acknowledgment ARC 	 Accounts Receivable Entry ATX 	 Financial EDI Acknowledgment BOC 	 Back Office Conversion Entry CCD 	 Corporate Credit or Debit Entry CIE 	 Customer Initiated Entry COR 	 Notification of Change or Refused Notification of Change CTX 	 Corporate Trade Exchange DNE 	 Death Notification Entry ENR 	 Automated Enrollment Entry IAT 	 International ACH Transactions MTE 	 Machine Transfer Entry POP 	 Point-of-Purchase Entry POS 	 Point-of-Sale Entry PPD 	 Prearranged Payment and Deposit Entry RCK 	 Re-presented Check Entry SHR 	 Shared Network Transaction TEL 	 Telephone-Initiated Entry TRC 	 Check Truncation Entry TRX 	 Check Truncation Entries Exchange WEB 	 Internet-Initiated/Mobile Entry · Example: WEB |
descriptionrequired | string | Description of the transaction. Up to 10 character description |
addendaoptional | string | A label sent to the customer for something they would identify like an invoice number. |
customeroptional | object | |
customer.namerequired | string | Customer Name |
customer.emailoptional | string | Customer Email |
customer.activeoptional | boolean | true / false |
customer.bank_accountoptional | object | |
customer.bank_account.routing_numberrequired | string | Customer Bank Routing Number · Example: 021406667 |
customer.bank_account.account_numberrequired | string | Customer Bank Account Number · Example: 0130005457 |
customer.bank_account.account_typerequired | string | Valid values: CHECKING, SAVINGS, LOAN, GL · Example: checking |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/ach/validate" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Get Validation Detail
Bearer JWTor x-api-key+ x-ach-access-token
Retrieve information for a specific validation/prenote transaction that was previously created. Supply the unique prenote uuid that was returned during the original prenote/validation creation and the API will return the corresponding prenote/validation details.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
prenote_uuidrequired | string | Prenote uuid · Example: NTE_RV6TU6493F1176E80449FAEB52C519A529320 |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/ach/validate/{prenote_uuid}" \
-H "Authorization: Bearer <access_token>" \
-H "x-ach-access-token: <ach_token>"Update Validation
Bearer JWTor x-api-key+ x-ach-access-token
Void an existing Validation/Prenote request. Use this to update a previously created validation/prenote request that you want to void.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
prenote_uuidrequired | string | Prenote uuid · Example: NTE_RV6TU6493F1176E80449FAEB52C519A529320 |
| Field | Type | Description |
|---|---|---|
statusoptional | string | Example: VOID |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X PUT "https://dev-api.procharge.com/api/ach/validate/{prenote_uuid}" \
-H "Authorization: Bearer <access_token>" \
-H "x-ach-access-token: <ach_token>" \
-H "Content-Type: application/json" \
-d @request.json # see the JSON tabACH – Events
Poll the ACH event stream (status changes, returns, settlements) from the last pointer you processed.
Get Events
Bearer JWTor x-api-key+ x-ach-access-token
Retrieve a list of transaction status updates. As events during the transaction flow occur, the transaction status is updated and Events list will include the status updates. Up to 1000 status events will be returned and multiple calls to Get /Events will be used to pull all events based on the exists_more_events flag. new_pointer is used to pull the events from the last pointer provided. The initial call will have no pointer.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/ach/events" \ -H "Authorization: Bearer <access_token>" \ -H "x-ach-access-token: <ach_token>"
Get Events Since Last Pointer
Bearer JWTor x-api-key+ x-ach-access-token
Retrieve a list of transaction events using the last_pointer. Use this request using the last pointer returned from the initial Event List request. Each subsequent request will use the last pointer returned from the previous request.
| Field | Type | Description |
|---|---|---|
x-ach-access-tokenrequired | string | ACH Access Token. This value will be overriden by the xAchAccessToken global header if set by the Authorize button. · Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjJaUXBKM1VwYmpBWVhZR2FYRUpsOGxWM… |
merchantnumberrequired | string | Merchant Identifier · Example: 889901550594702 |
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
last_pointerrequired | string | Last Event Pointer · Example: 164864386416 |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/ach/events/{last_pointer}" \
-H "Authorization: Bearer <access_token>" \
-H "x-ach-access-token: <ach_token>"Gift Cards
EPI gift card processing – activate, redeem, reload, balance inquiry, and transfers via a single transaction-code endpoint.
Redeem Gift Card
Bearer JWTor x-api-key
Redeem's a giftcard for a given amount. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
merchantnumberrequired | string | Merchant Identifier · Example: 530961210083176 |
| Field | Type | Description |
|---|---|---|
transactionCodeoptional | string | Valid Transaction Code Values * 001 - BALANCE * 002 - REDEEM * 003 - ADD_VALUE * 004 - VOID_TRAN * 005 - ACTIVATE * 006 - DEACT_WITH_REFUND * 007 - DEACT_WITHOUT_REFUND * 008 - CARD_REISSUE * 009 - STORE_CREDIT * 010 - SIGN_ON * 011 - SIGN_OFF * 012 - TIP_ADJUST * 013 - BATCH_CLOSE * 014 - BALANCE_TRANSFER * 020 - ADD_POINTS * 021 - REDEEM_POINTS * 022 - EXP_DATE_ADJUST * 023 - BALANCE_POINTS * 024 - ACTIVATE_POINTS * 025 - POINT_REFUND * 026 - POINT_BALANCE_TRANSFER * 027 - VOID_POINTS * 028 - DEACT_POINTS * 029 - TIP_ADJ_POINTS_DONOTUSE * 060 - HOUSECHARGE_INQUIRY * 061 - HOUSECHARGE_PURCHASE * 062 - HOUSECHARGE_PAYMENT * 063 - HOUSECHARGE_ACTIVATE * 064 - HOUSECHARGE_RETURN * 065 - HOUSECHARGE_FINANCE * 118 - CUSTOMER_SERVICE * 200 - CARD_HISTORY * 301 - EMPLOYEE_SIGN_IN * 302 - EMPLOYEE_SIGN_OUT * 303 - EMPLOYEE_CHANGE_PIN * 401 - SELF_REGISTER |
cardnooptional | string | Gift card number. This is sent for gift cards entered manually. For Balance Transfers this is the recipient gift card for the transfer. |
fromCardNooptional | string | When performing a balance transfer (014) this is the originating gift card number for the funds. Required for Balance Transfer. |
track2optional | string | Encrypted gift card number data. May be track2 format or a card number |
amountoptional | number | Amount to redeem · Example: 1.00 |
industryTypeoptional | string | Valid Transaction Code Values * 0 - INACTIVE * 1 - RETAIL * 2 - RESTAURANT * 3 - HOTEL * 4 - FUEL * 10 - HOUSE ACCOUNT · Example: 1 |
entryModeoptional | string | How the card information was entered. Swiped, Manual, Chip, EMV... * -1 - OMITTED * 0 - OTHER * 1 - MAGNETIC * 2 - MANUAL * 3 - BARCODE * 4 - CONTACTLESS * 5 - EMV · Example: 2 |
deviceModeloptional | string | Bluetooth identifier model. * CHB - BBPOS Chipper * IDT - IDTech |
transactionIDoptional | string | A unique identifier assigned to a gift card transaction. Required for voids and balance transfers. |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/giftcard" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Invoices
Create a hosted gateway invoice for a customer and read an invoice back by id.
Create Invoice
Bearer JWTor x-api-key
Creates a Procharge Invoice. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
MerchantNumberrequired | string | Merchant Identifier |
Amountrequired | number | Amount to redeem · Example: 1.00 |
Addressrequired | string | Customer Street Address · Example: 1161 Scott Ave |
DueDaterequired | string | Encrypted gift card number data. May be track2 format or a card number |
Cityrequired | string | Customer City · Example: Calverton |
Ziprequired | string | Customer Zipcode · Example: 11933 |
Staterequired | string | Customer State · Example: NY |
Emailrequired | string | Customer Email · Example: john.doe@acme.com |
CustomerIDoptional | number | Procharge Gateway customer id number. Default is null |
FirstNamerequired | string | Customer First Name · Example: John |
LastNamerequired | string | Customer Last Name · Example: Doe |
InvoiceModeoptional | number | Type of invoice * 1 - Regular * 2 - Auto Bill * 3 - Recurring Bill * 4 - QB Invoice · Example: 1 |
Descriptionrequired | string | A description for the invoice · Example: Repair tools for garage |
InvoiceOperationModeoptional | string | Type of operation to be performed for invoice. Default is 'Add' · Example: Add |
Sourceoptional | string | Application identifier for who is originating the invoice * wg - Procharge Gateway. This is the default. * ie - iOS mobile * ae - Android mobile * dm - DeliverMe |
TaxAmountoptional | number | Tax amount for invoice · Example: 1.00 |
TaxPercentoptional | number | Tax rate for invoice · Example: 6.75 |
XMLInvoiceItemsoptional | string | Invoice items in xml format. Note: If submitting from postman you must escape the double quotes. · Example: <InvoiceItemData><InvoiceLineItems ItemID="1" ItemRate="0.00" ItemQuantity="1… |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X POST "https://dev-api.procharge.com/api/gateway/invoice" \ -H "Authorization: Bearer <access_token>" \ -H "Content-Type: application/json" \ -d @request.json # see the JSON tab
Fetch invoice by invoice id
Bearer JWTor x-api-key
Retrieve a list of transaction events using the last_pointer. Use this request using the last pointer returned from the initial Event List request. Each subsequent request will use the last pointer returned from the previous request. Below video demonstrates how to get an authorization token so you can try out the examples
| Field | Type | Description |
|---|---|---|
x-api-keyrequired | string | Merchant Application Key · Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtb2RlIjoiZyIsIm1pZCI6Ijg4OTkwMTU1MDU5… |
| Field | Type | Description |
|---|---|---|
invoiceidrequired | number | Record ID for Invoice · Example: 447799869 |
200Request Successful400Bad request401Authorization information is missing or invalid403Not Authorized404Not Found500Server Error503Service Unavailablecurl -X GET "https://dev-api.procharge.com/api/gateway/invoice/{invoiceid}" \
-H "Authorization: Bearer <access_token>"api.procharge.com/api/swagger. Deprecated – for new builds use the Cygma API or Merchant360 API.