RESTful Endpoints implementation
Launch a transaction
URL Endpoint for POST
Get result of a transaction
URL Endpoint for GET
https://cloud-staging.chargeitpro.com/transactionresult/1237456780
- where 1237456780 = UniqueTransId from the POST
Test account
Please contact our dedicated Integration Specialists to create a test account.
Download list of device names
Merchant Locations typically will have multiple credit card terminal (Devices). This function will download a list of Devices. The DeviceName will be used later to identify which credit card terminal should be activated.
- Method: GET
- Headers:
- Content-Type: application/json
- x-apikey: 587DAA0C-E50B-4679-B4D1-036E49B7A899
- URL: https://cloud-staging.chargeitpro.com/Config/123-cba-456
*123-cba-456 is a unique id that identifies each Merchant Location (store)
**DeviceName identifies a specific credit card terminal at a Merchant Location
{"Success":true,"Status":"OK","StatusCode":200,"Result":{"Id":"90fcaba43bc949199f16cafc0e30d845","LocationId":"123-CBA-456","LocationKey":99132,"Devices":[{"Id":"a82a5ec8345a4f89aefd04d25ea46039","RemoteConfigId":"90fcaba43bc949199f16cafc0e30d845","DeviceName":"S300-7514","DeviceType":"S300","IpAddress":"10.0.1.19","TcpPort":"10009","RequestSignature":true,"MandatorySignature":true,"IsDefault":true,"UseTransArmor":false,"PromptForTipOnTerminal":false,"IsActive":true,"CreatedOn":"\/Date(1452856627753-0000)\/","SerialNumber":"53027514","IsDeleted":false},{"Id":"874b4f2ac9d24ac9b847631e7a262caf","RemoteConfigId":"90fcaba43bc949199f16cafc0e30d845","DeviceName":"MrEmulator","DeviceType":"Emulator","IpAddress":"10.0.1.20","TcpPort":"10009","RequestSignature":true,"MandatorySignature":true,"IsDefault":false,"UseTransArmor":true,"PromptForTipOnTerminal":false,"IsActive":true,"CreatedOn":"\/Date(1458139188767-0000)\/","IsDeleted":false},{"Id":"5a97f9f468664df88da8ba9a636ed18f","RemoteConfigId":"90fcaba43bc949199f16cafc0e30d845","DeviceName":"D210-3521","DeviceType":"D210","IpAddress":"10.0.1.80","TcpPort":"10009","RequestSignature":true,"MandatorySignature":true,"IsDefault":false,"UseTransArmor":true,"PromptForTipOnTerminal":false,"IsActive":true,"CreatedOn":"\/Date(1465367805580-0000)\/","SerialNumber":"51243521","IsDeleted":false},{"Id":"369298ac4d1240029665bfb2c14f479b","RemoteConfigId":"90fcaba43bc949199f16cafc0e30d845","DeviceName":"MT30-6043","DeviceType":"MT30-S","IpAddress":"10.0.1.69","TcpPort":"10009","RequestSignature":false,"MandatorySignature":true,"IsDefault":false,"UseTransArmor":true,"PromptForTipOnTerminal":false,"IsActive":true,"CreatedOn":"\/Date(1452860982620-0000)\/","SerialNumber":"39506043","IsDeleted":false},{"Id":"55ab60b690484a4e9c53dd378d06b48e","RemoteConfigId":"90fcaba43bc949199f16cafc0e30d845","DeviceName":"TrevorEndpointCheck","DeviceType":"MT30-S","IpAddress":"010.020.030.040","TcpPort":"10009","RequestSignature":true,"MandatorySignature":true,"IsDefault":false,"UseTransArmor":false,"PromptForTipOnTerminal":false,"IsActive":false,"CreatedOn":"\/Date(1477716959087-0000)\/","IsDeleted":false}],"ControllerName":"GlennController1","CreatedOn":"\/Date(-97200000-0000)\/","IsActive":true,"LastHeartbeat":"\/Date(1505491800000-0000)\/","Level2Enabled":false,"UseShortUniqueTransId":false}}
Please note
- The button that initiates a transaction should be deactivated and/or removed as soon as the command is issued
- Allowing users to double-click could result in cards being charged multiple times
- Allowing users to click back during transaction processing may result in a potential for duplicates within the same transaction.
Duplicate detection
The transRef is used to detect duplicate transactions. The credit card terminal will check the previous transaction to see if the transRef, amount and credit card are the same. If they are, then instead of charging the card again, it will simply return the previous approval number.
If your software allows split payments on the same invoice, please append a Payment Id to your receipt\invoice number to avoid accidentally triggering the duplicate detection. For example, if your invoice number is 12345 consider using 12345.1 and 12345.2. Only increment the Payment Id when a transaction is approved.
*If this feature isn’t turned on on your test terminal, please contact our Integration Specialists and ask to have “Local Duplicate Checking” turned on.
Credit Sale
{"Action":"Transaction","TestMode":true,"LocationId":"123-cba-456","DeviceName":"S300NumberOne","Data":{"TransactionType":"CreditSale","Amount":"29.99","TransactionRef":"Receipt1234","Cashier":"Jenny"}}
Credit Return
{"Action":"Transaction","TestMode":true,"LocationId":"123-cba-456","DeviceName":"S300NumberOne","Data":{"TransactionType":"CreditReturn","Amount":"29.99","TransactionRef":"Receipt1234","Cashier":"Jenny"}}
Please note
This example assumes “UniqueTransRef”:”6cd8e361d9″ in below example is equal to UniqueTransId from Original Sale/Return.
Credit Void
{"Action":"Transaction","TestMode":true,"Message":null,"LocationId":"123-cba-456","DeviceName":"S300NumberOne","Data":{"TransactionType":"Void","UniqueTransRef":"6cd8e361d9","TransactionRef":"Receipt1234","Cashier":"Jenny"}}
Credit Save Card
{"Action":"Transaction","TestMode":true,"LocationId":"123-cba-456","DeviceName":"S300NumberOne","Data":{"TransactionType":"CreditSaveCard","TransactionRef":"Receipt1234","Cashier":"Jenny"}}
Please note
This example assumes UniqueTransRef”:”AB99999991″ in below example is equal to UniqueTransId from Sale or CreditSaveCard transaction.
Credit Sale (with token)
{"Action":"Transaction","TestMode":true,"LocationId":"123-cba-456","DeviceName":"MrEmulator","Data":{"TransactionType":"CreditSale","Amount":"1.00","UniqueTransRef":"AB99999991","TransactionRef":"Receipt1234","Cashier":"Jenny"}}
Credit Add Tip
Please note
This example assumes UniqueTransRef”:”AB99999991″ in below example is equal to UniqueTransId from a previous CreditSale.
{"Action":"Transaction","TestMode":true,"LocationId":"123-cba-456","DeviceName":"MrEmulator","Data":{"TransactionType":"CreditAddTip","Amount":"12.00","UniqueTransRef":"AB99999991","Cashier":"Jenny","TransactionRef":"Receipt1234"}}
Adding tips for multiple devices
Tips need to be applied to the deviceName where the transaction originated. For example if the original CreditSale was done on deviceName ‘Terminal1’ then the CreditAddTip must use deviceName ‘Terminal1’.
Adding tips multiple times
- Tips should be added to the uniqueTransRef of the original transaction and not the uniqueTransRef of Add Tip transaction.
- CreditAddTip replaces the original amount. For example if the original sale was $10.00 and you wanted to add a $2.00 tip, the Amount should be set to $12.00. If you run a 2nd CreditAddTip for $12.00 the total charged to the card will remain $12.00.
GET Results
{"Success":true,"Status":"OK","StatusCode":200,"Result":{"ComputerName":"GLENNOFFICE-PC","ApplicationKey":"RH","RemoteDeviceID":"369298ac4d1240029665bfb2c14f479b","RemoteTransactionId":"956185a4dc8646dfb61f4cf642a0b627","DeviceName":"MT30NumberOne","Version":"5.1.22.20","ResultStatus":"true","ResultMessage":"APPROVED","TransactionType":"CreditSale","ApprovalNumberResult":"000000","BatchNumber":"","BillingName":"GLENN WITT","AVSResponseCode":"","AVSResponseText":"","CVVResponseCode":"","CVVResponseText":"","AmountBalance":0,"AccountCardType":"VS","AccountExpiryDate":"0520","MaskedAccount":"************4223","UniqueTransID":"956185a4dc","AccountEntryMethod":"Chipped","AmountProcessed":29.99,"CreatedOn":"2016-04-11T17:03:58.3300000","Cashier":"Jenny","FromLogFile":false,"TransactionID":"d5e2b77b29e94b64bbc7377fe7f87c86","AdjustmentTypeId":0,"AmountAdjusted":0,"AmountTipped":0,"TransactionReference":"Receipt1234","ExternalTransactionID":"956185a4dc","DeviceBatchNumber":"","TerminalDateTime":"2016-04-11T17:08:47.0000000","ComputerDateTime":"2016-04-11T17:02:26.7600000","ComputerTimeZoneOffset":-5,"EmvReceipt":{"CreatedOn":"2016-04-11T17:03:58.3430000","AuthorizationMode":"","CurrencyIndicator":"","AID":"A0000000031010","TVR":"0080008000","IAD":"","TSI":"E800","ARC":"","CardHolderVerificationMethod":"Signature","EMVOfflineData":""},"SerialNumber":"39506043"}}