Storing cardholder information using E-xact’s hosted payment page (HCO)
Once you have a payment page configured on your account (instructions found here: https://hostedcheckout.zendesk.com/hc/en-us/articles/114094066114) the next step is to use it to store credit card data; this data can be used to make subsequent tagged, or recurring transactions.
The two x_type transactions that can be used to create Recurring Seed transactions are AUTH_TOKEN or PURCHASE_TOKEN:
- AUTH_TOKEN is a Pre-authorization transaction that returns a transaction tag which can be used by the API to perform additional transactions for that cardholder.
- PURCHASE_TOKEN will capture funds and return a transaction tag which can be used by the API to perform additional transactions for that cardholder.
Here is an example of an AUTH_TOKEN transaction made using the Hosted Payment Page (HCO):
<form action="https://rpm.demo.e-xact.com/payment" method="post"> <input name="x_login" value="WSP-RICHA-iZIoDgA7aw" type="hidden"> <input name="x_type" value="AUTH_TOKEN" type="hidden"> <input name="x_test_request" value="TRUE" type="hidden"> <input name="x_amount" value="0.01" type="hidden"> <input name="x_fp_sequence" value="12345" type="hidden"> <input name="x_fp_timestamp" value="1723757397" type="hidden"> <input name="x_po_num" value="PO12345" type="hidden"> <input name="x_invoice_num" value="Invoice100" type="hidden"> <input name="x_fp_hash" value="5d23b44f27cf62bde8ac60da612d4994671310aa" type="hidden"> <input name="x_show_form" value="PAYMENT_FORM" type="hidden"> <input value="Checkout" type="submit"> </form> |
Note: This example shows the endpoint to E-xact’s demo environment. If you are making a transaction in the production environment you must use ‘https://checkout.e-xact.com/payment’.
Once this transaction has been executed—if the transaction was approved—the response data will contain both an Authorization Number, and a Tag Number. These two values are required in
order to make the subsequent Tagged Transactions using the API. See the example of a raw transaction response, below. We have emboldened the Authorization Number (x_auth_code), and the Tag Number (x_trans_id):
x_response_code=1&x_response_subcode=S&x_response_reason_code=1&x_response_reason_text=Transaction+has+been+approved&x_auth_code=ET187443&x_avs_code=&x_trans_id=2151376984&x_invoice_num=Invoice100&x_description=&x_amount=0.01&x_method=&x_type=AUTH_TOKEN&x_cust_id=&x_first_name=&x_last_name=&x_company=&x_address=&x_city=&x_state=&x_zip=&x_country=&x_phone=&x_fax=&x_email=&x_ship_to_first_name=&x_ship_to_last_name=&x_ship_to_company=&x_ship_to_address=&x_ship_to_city=&x_ship_to_state=&x_ship_to_zip=&x_ship_to_country=&x_tax=&x_duty=&x_freight=&x_tax_exempt=&x_po_num=PO12345&x_reference_3=&x_cvv2_resp_code=M&x_cavv_response=1&exact_ctr=%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D+TRANSACTION+RECORD+%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0ARichard%27s+DEMO%0A123+test+st%0Atestville%2C+AB+t2a0l3%0ACanada%0A%0A%0ATYPE%3A+Pre-Authorization%0A%0AACCT%3A+Visa++%24+0.01+CAD%0A%0ACARD+NUMBER+%3A+%23%23%23%23%23%23%23%23%23%23%23%234242%0ADATE%2FTIME+++%3A+15+Aug+24+14%3A49%3A14%0AREFERENCE+%23+%3A+001+000108+M%0AAUTHOR.+%23+++%3A+ET187443%0ATRANS.+REF.+%3A+Invoice100%0A%0A++++Approved+-+Thank+You+000%0A%0A++++%0A%0A%0APlease+retain+this+copy+for+your+records.%0A%0ACardholder+will+pay+above+amount+to+card%0Aissuer+pursuant+to+cardholder+agreement.%0A%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D&exact_issname=&exact_issconf=&exact_wsp_version=1.7&x_SHA1_Hash=12fd20bd37a0d0ac3967588bd6829c1747d8e2cb&x_login=WSP-RICHA-iZIoDgA7aw&x_test_request=TRUE&x_fp_sequence=12345&x_fp_timestamp=1723757723&x_show_form=PAYMENT_FORM&Transaction_Type=40&DollarAmount=0.01&SurchargeAmount=0&Card_Number=%23%23%23%23%23%23%23%23%23%23%23%234242&Transaction_Tag=2151376984&Authorization_Num=ET187443&Expiry_Date=1028&CardHoldersName=Exact+Test&CVD_Presence_Ind=0&ZipCode=&Tax1Amount=&Tax1Number=&Tax2Amount=&Tax2Number=&Secure_AuthRequired=0&Secure_AuthResult=0&Ecommerce_Flag=0&XID=&CAVV_Algorithm=0&Reference_No=Invoice100&Customer_Ref=PO12345&Reference_3=&Language=0&Client_IP=&Client_Email=&Transaction_Error=false&Transaction_Approved=YES&EXact_Resp_Code=00&EXact_Message=Transaction+Normal&Bank_Resp_Code=000&Bank_Message=Approved&Bank_Resp_Code_2=&SequenceNo=000108&AVS=&CVV2=M&Retrieval_Ref_No=0793723&CAVV_Response=1&MerchantName=Richard%27s+DEMO&MerchantAddress=123+test+st&MerchantCity=testville&MerchantProvince=Alberta&MerchantCountry=Canada&MerchantPostal=t2a0l3&TransactionCardType=VISA
__________________________________________________
Using the API and Transaction Tags to make Tagged Transactions
Once you have the Authorization and Tag Numbers (whether they were created from a previous API or HCO transaction) you are ready to make a Tagged Transaction.
There are three types of Tagged Transactions: Tagged Purchase (30), Tagged Pre-Authorization (31), and Tagged Completion (32). In the majority of situations, E-xact recommends the use of a Tagged Purchase (30) to make subsequent charges from a tokenized card. Here is an example of a Tagged Purchase using the API, using the Tag that we created from our original transaction:
purchase = { transaction_type: '30', amount: '1.00', transaction_tag: '984166872', authorization_num: 'ET161625' } |
There you have it, from start to finish, a walkthrough of how to create a Recurring Seed transaction through the payment page and follow up with a Tagged Purchase transaction made through the API.
Note: you can create a Recurring Seed Transaction without the payment page. From the API, a Recurring Seed Pre-Authorization is Transaction Type ‘40’, and a Recurring Seed Purchase is Transaction Type ‘41’. The hosted payment page ensures that you, as the merchant, do not handle sensitive credit card data; if this is not a concern to your business then using the API to store the data is an alternative.
Further HCO and API information, including additional request and response fields, can be found at the following links:
HCO Integration Guide: https://support.exactpay.com/support/solutions/articles/150000065320-hosted-checkout-integration-manual
API Integration Guide: https://support.exactpay.com/support/solutions/articles/150000065331-transaction-processing-api-reference-guide
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article