Visa Checkout

Visa Checkout is a supported First Data Global mobile payment method that is used for transactions during the sales order workflow. VisaCheckout can be used as a credit card or custom charge payment method.

When using the First Data Global Gateway API for Visa Checkout, it is required to maintain Visa Checkout API key. Visa Checkout automatically creates an API key when terminal is enabled for Visa Checkout via the Payeezy Gateway. Visa Checkout API key can be retrieved from the Visa Checkout web-portal.
Note: When setting up the First Data Global e4 merchant account, note the following:
  • Specify the terminal to configure Visa Checkout and click the Visa Checkout tab.
  • Select the Enable Visa Checkout checkbox to board the terminal with the External Client ID (Boarded for API).
  • Select the API Access tab to generate the HMAC key to use HMAC security for Visa Checkout transactions.
Note: Configure the external processor, FirstDataGlobalGE4v3. Before you can use a payment processor and its supported payment methods, configuration is required in Order Management. The following fields are mandatory:
  • Label: Name of the payment processor
  • ID: the ID of the FirstData Global Gateway e4 web service user.
  • Transactionkey: The web service user's password used to make the API call.
  • KeyID: The KeyID that creates the HMAC key that is required for the HTTP Post
  • HMACKey: Generated from the Merchant account that is required for the HTTP Post.
  • MultiCapture: Set to Yes to support multi-capture. Default is No.
The processor features enabled for Visa Checkout are as follows:
Processor OM & First Data Global Gateway v3 Integration Comments
Type Payment Gateway
Auth/Capture Yes Order Management receives successfully Authorized imported orders from Salesforce B2C Commerce. Capture and other transactions, such as Refund and Void can be performed later.
Sale No  
Void Yes A Void transaction is supported only before a Capture transaction is settled.
Credit No  
Refund Yes  
Multi-Currency Yes Accepts payments in multiple currencies.
Multi-Capture Yes Multi-Capture enables the capture transactions in cases of multiple shipment orders.
Tokenization No Call_ID is used for Auth transactions.
Split Payments No  

Example: Payment Tag in JSON

Here is a sample JSON order that uses the Salesforce B2C Commerce - Order Management integration. Note the following payment tags:

Note: The JSON is the same except that the transaction-type = CAPTURE.
 "order_payment_instrument_pos": [{
                "$id": 13,
                "uuid": "ab4d479b648d78ed47c30dd751",
                "domain_id": "bcC4kiaageA2MaaadehslZMFRd",
                "oca": 325516093,
                "creation_date": "2017-04-25T13:08:12.654Z",
                "last_modified": "2017-04-25T13:08:13.677Z",
                "payment_method": "visacheckout", 

                "ek_id": 42785,
                "bank_account_drivers_license_state_code": null,
                "bank_account_holder": null,
                "encrypted_bank_account_number": null,
                "bank_routing_number": null,
                "encrypted_bank_account_drivers_license": null,
                "gift_certificate_id": null,
                "creditcard_token": null,
                "line_item_ctnr_id": "f5adee1ab5bcab285ef453e03f",
                { "$ref": 0 }
                "order_payment_transaction_pos": [{
                    "$id": 14,
                    "uuid": "61dc90e970358f77f6e75b1a1c",
                    "domain_id": "bcC4kiaageA2MaaadehslZMFRd",
                    "oca": 325516096,
                    "creation_date": "2017-04-25T13:08:12.654Z",
                    "last_modified": "2017-04-25T13:08:13.678Z",
                    "status": 0,
                    "service_transaction_id": "2237350706", 
                    "amount_code": “EUR”,
                    "Amount_value": "205.00",
                    "description": null,
                    "payment_processor_id": "bcnWEiaage3MQaaade8cFZMFRd",
                    "payment_instrument_info_id": "ab4d479b648d78ed47c30dd751",
                    "type": “AUTH”,
                    "record": null,
                    "invoice_number": null,
                    { "$ref": 13 }
                    "attribute_values": [{
                        "owner_id": "61dc90e970358f77f6e75b1a1c",
                        "name": "authAmount",
                        "context_id": "default",
                        "idx": 0,
                        "localized_flag": false,
                        "type": 3,
                        "int_value": null,
                        "double_value": null,
                        "string_value": "205.00",
                        "text_value": null,
                        "date_value": null,
                        "oca": 325516093,
                        "last_modified": "2017-04-25T13:08:13.665Z",
                        { "$ref": 14 }
                    }, {
                        "owner_id": "61dc90e970358f77f6e75b1a1c",
                        "name": "approvalStatus",
                        "context_id": "default",
                        "idx": 0,
                        "localized_flag": false,
                        "type": 3,
                        "int_value": null,
                        "double_value": null,
                        "string_value": "ET115500", 

                        "text_value": null,
                        "date_value": null,
                        "oca": 325516093,
                        "last_modified": "2017-04-25T13:08:13.666Z",
                        { "$ref": 14 }
                        "owner_id": "61dc90e970358f77f6e75b1a1c",
                        "name": "bfResponseData",  )
                        "context_id": "default",
                        "idx": 0,
                        "localized_flag": false,
                        "type": 3,
                        "int_value": null,
                        "double_value": null,
                        "string_value": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
  <CardHoldersName>Test Test</CardHoldersName>
  <Client_Email>[email protected]</Client_Email>
  <EXact_Message>Transaction Normal</EXact_Message>
  <MerchantName>Cybage DEMO0143 Terminal EURO</MerchantName>
  <MerchantAddress>5 Wall Street</MerchantAddress>
  <MerchantCountry>United States</MerchantCountry>
  <CTR>========== TRANSACTION RECORD ==========
Cybage DEMO0143 Terminal EURO
5 Wall Street
Burlington, MA 01803
United States

TYPE: Pre-Authorization

ACCT: Visa                  € 205.00 EUR

CARD NUMBER     : ############4242
DATE/TIME       : 12 Jan 18 11:33:52
REFERENCE #     : 005 000546 M
AUTHOR. #       : ET115500
TRANS. REF.     : 

    Approved - Thank You 100

Please retain this copy for your records.

Cardholder will pay above amount to
card issuer pursuant to cardholder
"text_value" : null,
                        "date_value": null,
                        "oca": 325516093,
                        "last_modified": "2017-04-25T13:08:13.674Z",
                        { "$ref": 14 }
                    "processor_id": "FIRSTDATAGLOBAL"