Introduction
This document contains information on the use of the TrueLink product on the Express payment processing platform. TrueLink allows merchants/vendors to collect cardholder details on their own secure web page and perform a simple form post directly to the TrueLink URL to process the transaction.
Processing Flow via TrueLink
The merchant/vendor application will collect and submit the non-sensitive transaction/request details, such as payment amount, transaction type, and address information where necessary. The application will submit this information to the Express payment platform via a programmatic request using the TransactionSetup method defined in the Express Interface Specification (and submitted to https://certtransaction.elementexpress.com in the test/certification environment).
Note A TransactionSetupMethod of 9/Sale is not valid with TrueLink.
Express will respond with a TransactionSetupID (GUID) if the TransactionSetup request was successful.
The merchant/vendor application will display an HTML web form (residing on https client web site) to the end user to enter additional payment details (such as the Card Number, Expiration Date, and CVV2/CVC2).
The merchant/vendor application will post the HTML web form (including the TransactionSetupID from above) directly to the Express TrueLink URL to submit this additional transaction data for processing.
Express will process the transaction and immediately redirect the response details to the ReturnURL originally provided in the initial TransactionSetup request from above. The response details (response codes, approval number, etc.) will be appended in name/value pairs to the end of the ReturnURL.
The merchant/vendor application will parse out the response details and determine the success or failure of the request. Successful transaction details can then be displayed in the merchant/vendor application.
TrueLink Form Post URL’s
Test/Certification: https://certtruelink.elementexpress.com/PostHandler.aspx
Production: https://truelink.elementexpress.com/PostHandler.aspx
TrueLink Form Post Response Times
Once the web form has been posted, the Express platform should respond within just a few seconds. If no response is received within 120 seconds, a communication error may have occurred, and the merchant/vendor application should generate a TransactionQuery using the original TransactionSetupID to determine the status of the transaction.
TrueLink Form Post Error Response Handling (Auth Network/Issuer Communication Error)
In the event that a communication error is returned from the authorization network or card issuer, the Express platform may respond with an ExpressResponseCode of 1001 or 1002. In this case, TrueLink will automatically submit the appropriate Reversal request, so the merchant/vendor application can resubmit the original transaction request.
TrueLink Form Post Input Fields
Input Field Name | Required | Description |
CardNumber | Required | Credit card number (no hyphens or spaces). Example: 4003000123456781 |
ExpirationMonth | Required | Card expiration month in MM format. Example: 01 |
ExpirationYear | Required | Card expiration year in YY format. Example: 13 |
CVV | Optional | CVV2/CVC2/CID on card for verification purposes. Example: 123 |
TransactionSetupID | Required | TransactionSetupID from TransactionSetup request (valid for only 10 minutes). |
GenericErrorReturnURL | Required | If Express cannot redirect post response details to the ReturnURL for any reason, it will redirect response details back to this merchant/vendor application URL.* |
CardholderName | Optional | Name on card. Not used by Express. If submitted, it will be echoed back to merchant/vendor in query string response. |
* If a form post does not contain a GenericErrorReturnURL, and if the form post results in an error, an empty screen will be displayed. The merchant/vendor application should perform a TransactionQuery using the original TransactionSetupID to determine the status of the transaction. |
TrueLink Query String Output Fields
Response Field Name | Description |
PostResponseCode | Response code from the PostHandler. See defined Post Response Codes below. |
PostResponseMessage | Response message from the PostHandler. |
TransactionSetupID | TransactionSetupID originally returned during initial TransactionSetup request. |
ValidationCode | Validation code from TransactionSetup request. Returned if PostResponseCode = 0. |
TransactionID | Express transaction identifier. |
ServicesID | Express services interface identifier. Returned only for PASS requests. |
PaymentAccountID | Express payment account identifier. Returned only for PASS requests. |
ExpressResponseCode | Express response code. Returned if PostResponseCode = 0 or 100. |
ExpressResponseMessage | Express response message. Returned if PostResponseMessage = 0 or 100. |
AVSResponseCode | Address verification response code. |
CVVResponseCode | CVV2/CVC2 verification response code. |
ApprovalNumber | Approval code. |
LastFour | Last four digits of card. |
CardLogo | Payment brand. |
ApprovedAmount | Approved amount. |
CommercialCardResponseCode | Commercial card response code indicator. |
CardholderName | Cardholder name echoed from the form post. Not used by Express. |
|
TrueLink Post Response Codes
Code | Redirect URL Used | Description |
0 | ReturnURL | Complete/Success. ExpressResponseCode = 0 or 5. |
100 | ReturnURL | Transaction Decline or Error. ExpressResponseCode other than 0 or 5. |
200 | GenericErrorReturnURL | TransactionSetupID Required. Invalid information was sent to the PostHandler |
300 | GenericErrorReturnURL | Invalid TransactionSetupID. Invalid/expired TransactionSetupID was sent to the PostHandler. |
301 | GenericErrorReturnURL | TransactionSetup ReturnURL Required. Missing TransactionSetup ReturnURL. |
500 | ReturnURL | Communication Error. While trying to process the request, a communication error occurred and the PostHandler did not receive an ExpressResponseCode.* |
* The merchant/vendor application should perform a TransactionQuery using the original TransactionSetupID to determine the status of the transaction. |