These solutions are available in US and Canada only. For all other regions, please contact us for support.
To process a card sale via Meet in the Cloud, send a POST request via our REST API to the designated endpoint. This allows you to process a sale and charge the customer’s account accordingly.
Instead of processing a sale (auto-capture), you can choose to process an authorization (delayed-capture). For more details, see our API reference.
To save the customer's card details to use for future transactions, send a value of true in the create_token parameter in your request. If you send a value of true in the create_token parameter, you must also send a value in the create_token_reason parameter.
Important: For authentication, you must include the required headers in each request. For more information, please refer to Authenticating Your Requests.
| Environment | HTTP Method | URL |
|---|---|---|
| Sandbox | POST | https://api.pit.paygateway.com/transactions/cardpresent/sales |
| Production | POST | https://api.paygateway.com/transactions/cardpresent/sales |
Important: For Meet in the Cloud, partial approvals are always approved for EMV (chip) transactions, regardless of the value provided in the partial_approval request field. If the total amount cannot be authorized, the transaction is still approved for a reduced amount.
Content-Type: application/json
Authorization: AuthToken {AuthTokenV2}
X-GP-Request-Id: {request_id}
X-GP-Version: 2021-04-08
X-GP-Api-Key: {API Key}
X-GP-Source-App-Version: {Version of integrating application}
X-GP-Source-App-Name: {Name of integrating application}
X-GP-Target-Device: {Identifier of the device}
{
"reference_id": "XAZR863990",
"payment": {
"amount": "225.09",
"currency_code": "840",
"invoice_number": "239087",
"gratuity_eligible_amount": "10.00",
"purchase_order": {
"destination_postal_code": "84042",
"po_number": "2343445",
"tax_amount": "20.01"
}
},
"receipt": {
"clerk_id": "Al090-John Doe"
},
"transaction": {
"keyed_entry_mode": "allowed",
"country_code": "840",
"language": "en-US",
"processing_indicators": {
"allow_duplicate": true,
"create_token": true,
"partial_approval": true
},
"create_token_reason": "unscheduled_merchant_initiated_transaction",
"terminal": {
"terminal_id": "90030234"
}
}
}{
"invoice_number": "239087",
"amount": "225.09",
"status": "completed",
"currency_code": "840",
"gratuity_amount": "10.00",
"transactions": [
{
"tender_type": "credit",
"entry_type": "contactless",
"id": "0000012345678903266",
"reference_id": "XAZR863990",
"status": "approved",
"status_code": "200",
"processor_response": "APPROVAL ADB123",
"transaction_datetime": "2019-12-15T13:00:00Z",
"credit_attributes": {
"approval_code": "ADB123",
"avs_response": "full_match",
"avs_response_description": "Match - Street Address",
"cardsecurity_response": "match",
"payment": {
"amount": "225.09",
"cashback_amount": "10.00",
"type": "credit",
"fees": {
"customer_fee_amount": "10.03",
"surcharge_amount": "10.03"
}
},
"card": {
"masked_card_number": "XXXXXXXXXXX5538",
"cardholder_name": "Joe Doe",
"expiry_month": "03",
"expiry_year": "23",
"token": "EnzMcSVlkP",
"type": "visa",
"balance": "12.09",
"postal_code": "84042",
"rfmiq": "ADB12",
"card_on_file_attributes": {
"tokenization_error_code": "ADB12",
"tokenization_error_message": "ADB12"
}
},
"emv": {
"amount": {
"amount_authorized": "225.09",
"amount_other": "225.09"
},
"icc": {
"dedicated_file_name": "A000000004101",
"application_label": "Visa",
"application_expiry_date": "string",
"application_effective_date": "string",
"application_interchange_profile": "5C00",
"application_version_number": "0001",
"application_transaction_counter": "3601",
"application_usage_control": "stri",
"application_preferred_name": "4D617374657243617264",
"application_display_name": "string",
"application_pan_sequence_number": "99",
"application_cryptogram": "AC2E521325F52EEC",
"application_cryptogram_type": "TC",
"cardholder_verification_method_results": "string",
"issuer_application_data": "0210A0800F240000000000000000000000FF",
"terminal_verification_results": "0200008000",
"unpredictable_number": "95637FFD",
"pos_entry_mode": "st",
"terminal_type": "21",
"ifd_serial_number": "stringstringstri",
"terminal_country_code": "840",
"terminal_identification": "stringstringstri",
"tac_default": "ABCFFF",
"tac_denial": "ABCFFF",
"tac_online": "ABCFFF",
"transaction_type": "00",
"transaction_currency_code": "840",
"transaction_status_information": "E800",
"cryptogram_information_data": "80",
"pin_statement": "PIN Verified",
"cvm_method": "string",
"iac_default": "AABB32",
"iac_denial": "AABB32",
"iac_online": "string",
"authorization_response_code": "st"
}
}
}
}
]
}To cancel a transaction via the POS, send a PUT request to the appropriate endpoint. No message body is required. This is typically used when the customer decides to pay using a different method (e.g. switching from card to cash). If the cancel is successful, the gateway will return two responses:
These responses may arrive in any order, so your integration should be able to handle them independently. Do not build logic that depends on the order of these responses.
Important: For authentication, you must include the required headers in each request. For more information, please refer to Authenticating Your Requests.
| Environment | HTTP Method | URL |
|---|---|---|
| Sandbox | PUT | https://api.pit.paygateway.com/terminal/request/reference_id/{reference_id}/cancel |
| Production | PUT | https://api.paygateway.com/terminal/request/reference_id/{reference_id}/cancel |
The response to a cancel request doesn’t contain a message body. The HTTP status code indicates if the request was successful. If the POS receives an HTTP status code of 403, the POS can’t cancel the transaction. This can be because of one of the following reasons:
To process an unlinked refund, you can send in a POST request via our REST API to the designated endpoint. Unlike a linked refund, which is associated with a specific original transaction, an unlinked refund is processed independently. This approach offers flexibility for issuing refunds without needing to reference a prior sale.
Create an unlinked refund if there is no associated sale. For example, a customer bought an item $15 and wants to return it without a receipt for the purchase.
For information about linked refunds, see Manage Payments.
Important: For authentication, you must include the required headers in each request. For more information, please refer to Authenticating Your Requests.
| Environment | HTTP Method | URL |
|---|---|---|
| Sandbox | POST | https://api.pit.paygateway.com/transactions/cardpresent/returns |
| Production | POST | https://api.paygateway.com/transactions/cardpresent/returns |
Content-Type: application/json
Authorization: AuthToken {AuthTokenV2}
X-GP-Request-Id: {request_id}
X-GP-Version: 2021-04-08
X-GP-Api-Key: {API Key}
X-GP-Source-App-Version: {Version of integrating application}
X-GP-Source-App-Name: {Name of integrating application}
X-GP-Target-Device: {Identifier of the device}
{
"reference_id": "XAZR863990",
"receipt": {
"clerk_id": "Al090"
},
"transaction": {
"keyed_entry_mode": "allowed",
"country_code": "840",
"language": "en-US",
"processing_indicators": {
"allow_duplicate": true
},
"terminal": {
"terminal_id": "90030234"
}
},
"payment": {
"amount": "225.09",
"currency_code": "840",
"invoice_number": "239087"
}
}{
"invoice_number": "239087",
"amount": "225.09",
"status": "completed",
"currency_code": "840",
"transactions": [
{
"tender_type": "credit",
"entry_type": "contactless",
"id": "0000012345678903266",
"reference_id": "XAZR863990",
"status": "approved",
"status_code": "200",
"processor_response": "APPROVAL ADB123",
"transaction_datetime": "2019-12-15T13:00:00Z",
"credit_attributes": {
"approval_code": "ADB123",
"avs_response": "full_match",
"avs_response_description": "Match - Street Address",
"cardsecurity_response": "match",
"payment": {
"amount": "225.09",
"type": "credit"
},
"card": {
"masked_card_number": "XXXXXXXXXXX5538",
"cardholder_name": "Joe Doe",
"expiry_month": "03",
"expiry_year": "23",
"type": "visa",
"balance": "12.09",
"postal_code": "84042",
"rfmiq": "ADB12"
},
"emv": {
"amount": {
"amount_authorized": "225.09",
"amount_other": "225.09"
},
"icc": {
"dedicated_file_name": "A000000004101",
"application_label": "Visa",
"application_expiry_date": "string",
"application_effective_date": "string",
"application_interchange_profile": "5C00",
"application_version_number": "0001",
"application_transaction_counter": "3601",
"application_usage_control": "stri",
"application_preferred_name": "4D617374657243617264",
"application_display_name": "string",
"application_pan_sequence_number": "99",
"application_cryptogram": "AC2E521325F52EEC",
"application_cryptogram_type": "TC",
"cardholder_verification_method_results": "string",
"issuer_application_data": "0210A0800F240000000000000000000000FF",
"terminal_verification_results": "0200008000",
"unpredictable_number": "95637FFD",
"pos_entry_mode": "st",
"terminal_type": "21",
"ifd_serial_number": "stringstringstri",
"terminal_country_code": "840",
"terminal_identification": "stringstringstri",
"tac_default": "ABCFFF",
"tac_denial": "ABCFFF",
"tac_online": "ABCFFF",
"transaction_type": "00",
"transaction_currency_code": "840",
"transaction_status_information": "E800",
"cryptogram_information_data": "80",
"pin_statement": "PIN Verified",
"cvm_method": "string",
"iac_default": "AABB32",
"iac_denial": "AABB32",
"iac_online": "string",
"authorization_response_code": "st"
}
}
}
}
]
}To manage transactions processed via Meet in the Cloud, refer to our Manage Payments articles.