Latpay-Ecomm

Latpay-Ecomm

Introduction

Lateral Payment Solutions provide an online credit card/debit card processing solution for e-commerce businesses. We provide a highly sophisticated fraud screening process to reduce the risk posed to online merchants in the ‘card not present’ environment.

We provide a 256 bit SSL interface for secure transmission of data over the internet. A secure reporting and administration system to provide real time information is also made available to the merchant.

Integration

The merchant’s server makes a request through a HTTP POST and receives the result of the processing request as the response to the POST request. Both the request & response are made through a single TCP/IP connection. Your server opens an SSL protected socket connection to the LPS payment engine and the LPS system posts the result of the transaction back on the same connection.

MERCHANT SERVER TO LPS SERVER


To process a payment, request all mandatory fields found in Schedule 2A need to be posted via SSL to LPS payment gateway URL which will be provided by LPS. All communication between LPS and the merchant is via SSL only. The merchant server makes a request through an HTTP POST to the LPS server LPS receives the payment request, performs fraud screening and returns to the merchant a result of either fraudscreening (failed) or the bank response (if passed fraud screening).

Points to note about the POST to LPS

  • LPS provide the merchant_user_id and merchantpwd
  • Replace spaces in the user details with +. You do not however have to do a full URL-encode of the request string.
  • Post amounts as 2 decimal places only. Applies to amount field. i.e. 125.03
  • A payment request will not be accepted for processing if the mandatory fields in Schedule 2A are missing. If a payment request does not contain all the mandatory fields then the system will return the fraudscreening_status value of 9001 and an LPS_Transaction_id of –1.



LPS SERVER BACK TO MERCHANT SERVER
Using the synchronous method your server opens an SSL protected connection to the LPS server and awaits a HTTP response from the server. If the data is sent successfully (HTTP Status 200) you need to retrieve the Response to the payment request. This will be returned as a query string with the variables described in Schedule 2B. Two response types may be returned; either fraud screening failed or bank transaction status.

Points to note about the LPS return POST

  • LPS generates a unique transaction id for each transaction. This is returned to the merchant’s server along with the merchant reference number.
  • Merchants must use the LPS_transaction_id for any transaction enquiries with LPS
  • LPS response includes an id and password in the string for merchant server authentication purposes; this is the user name & password you supply to LPS and is different from the LPS supplied pair in the original post to Schedule 2A.
  • If mandatory fields are missing then the system will not accept the transaction for processing. The details will be logged, and the system will return a Fraudscreening_status of 9001 & an LPS_transaction_id of –1.



LPS TO END USER
LPS send an e‐mail receipt to the customer for each authorised payment request. The receipt contains all transaction details and an email address for customer enquiries. The email is sent from the merchants chosen address and not from LPS e.g. support@merchant.com. The merchant can receive a copy of the receipt sent to the customer.

Card
Standard Authorisation
Payment Request

Schedule 2A – LPS POST Specification for Payment Request using CARD


Field Description Mandatory Data Type Length
merchant_User_Id Merchant’s user id provided by LPS Required varchar 50
merchantpwd Merchant’s PWD provided by LPS Required varchar 50
merchant_ipaddress Static IP address of the Merchant server Required , As provided by merchant
customer_firstname First name of the customer Required varchar 50
customer_lastname Last name of the customer Required varchar 50
customer_phone Telephone number of the customer Required varchar 50
customer_email Email address of the customer Required varchar 50
customer_ipaddress IP address of the customer Required varchar 50
bill_firstname First name of the card holder Required varchar 50
bill_lastname Last name of the card holder Required varchar 50
bill_address1 First line of street address for billing the CC Required varchar 100
bill_address2 Second line of street address for billing the CC Optional varchar 100
bill_city City for the billing the credit card Required varchar 50
bill_country Country for the billing the credit card Required See LPS Standard Codes
bill_state State for the billing the credit card Optional See LPS Standard Codes
bill_zip Postal code for the billing the credit card Required varchar 50
dateregistered Date customer setup an account with your site Optional varchar 50
customer_cc_expmo Expiration month(mm) of the credit card Required varchar 50
customer_cc_expyr Expiration year(yyyy) of the credit card Required varchar 50
customer_cc_number Credit card/Debit card number of the customer Required numeric 50
customer_dc_issue Debit card issue number Required (for debit cards only) numeric 2
customer_dc_startmo Debit card start month or valid from month (mm) Required (for debit cards only) varchar 50
customer_dc_startyr Debit card start year or valid from year (yyyy) Required (for debit cards only) varchar 50
customer_cc_type Credit Card type of the customer either VISA, MAST, SWITCH, SOLO, DELTA, AMEX, MAESTRO (Case Sensitive, upper case only) Required varchar 10
customer_cc_cvc CVC number of the bank of customer card Required numeric 3
customer_bank_name Name of issuing bank of customer card Optional
ship_to_address1 First line of the street address to ship the product Optional varchar 50
ship_to_address2 Second line of the street address to ship the product Optional varchar 50
ship_to_city City to which the ship the product Optional varchar 50
ship_to_country Country to which the ship the product Optional varchar 50
ship_to_phone Telephone number of shipping destination Optional varchar 50
ship_to_state State or province to which the ship the product Optional varchar 50
ship_to_zip Postal code to which the ship the product Optional varchar 50
ship_to_method Shipping method Optional varchar 50
merchant_ref_number Merchant generated reference number Required varchar 50
currencydesc=”XXX” XXX is the currency code you are transacting in i.e., USD, GBP, EUR Required See LPS Standard Codes
amount Purchase Amount – 2 decimal places only Required 2 decimal places
fees Merchant processing fee Optional 2 decimal places
Payment Response

Schedule 2B – LPS POST Specification for Payment Response


METHOD – POST
Field Description Data Type Length
ResponseType Transaction response type int 4
LPS_transaction_id Unique Identifier for the transaction generated by LPS int 8
Merchant_ref_number Merchant reference number generated for the order varchar 50
Lpsid Login id of merchant site for authentication varchar 50
Lpspwd Password for LPS on Merchant site varchar 50
Fraudscreening_status Fraud screening response code from LPS int 4
Bank status Status of the transaction at the bank int 4
Amount Transaction amount 2 decimal places
Currency Transaction currency as per ISO code varchar 4
Bank_transaction_no Unique Bank ID varchar 50
Bank_authorisation_no Bank authorization number, save for your records varchar 50
Bank_date Date of bank transaction varchar 50
Bank_time Time of bank transaction varchar 50
Bank_original_code Original Bank Status code varchar 255

The Lpsid and password values are provided by merchant at the account setup stage. They are used to authenticate the response string sent from the LPS gateway to the merchant platform. So merchant platform check the fields to make sure they match the id and password they provided to LPS at the account set up stage.

Should the merchant platform not need to use this an authentication method, it can be ignored. In this case LPS will populate these fields with a default value, and Devcode can ignore them when they are posted back.
Additional Post response
Field Description Data Type Length
AVS_Result Customer Address verification result for the address line1 value posted by merchant. Values: Empty or 2: Not verified / Not checked; 1: Failed; 0: Successful Int 4
ZIP_Result Customer Zip code verification result for the bill_zip value posted by merchant. Values: Empty or 2: Not verified / Not checked; 1: Failed; 0: Successful Int 4
CVN_Result Result of CVC entered by customer. Values: Empty or 2: Not verified / Not checked; 1: Failed; 0: Successful Int 4
CardBin First 6 digit of customer card Int 6
CardLast4 Last 4 digit of customer card Int 4
CardType Card Scheme of customer card String 10
CardIssuingCountry Country code of the Card Issuing country String 2
CardIssuer Card Issuer name String 100
BankIdentifier Identifier name of the bank which transaction processed String 10
bank_code Common LPS unique bank code indicating reason for transaction decline String 10
bank_message bank code description String 100
3D Secure
Introduction

This document provides integration and usage instructions for using the LPS 3D SECURE integration specification using an asynchronous connectivity model. Integrating with LPS 3D SECURE integration specification will enable participation in payment authentication initiatives such as Verified by Visa (Visa 3D-Secure), Master Card Secure Code and JCB J/Secure. This document assumes you have familiarity with your website and payment processing procedures as well as a proficiency using the technologies and programming languages that your website implements.

The aim of the document is NOT to break any existing compatibility modes if the merchant has already integrated with LPS Payment Gateway. All the post data which if merchant has integrated with synchronous connection model has been retained and minimum customer redirection is proposed.

Since the purpose of 3D SECURE initiative is to reduce the chargebacks by customers authenticating with their issuing bank, which involves customers being navigated out of merchant’s websites, the status of the transaction will NOT be in real time but through separate connection between LPS gateway and merchant servers.

TRANSACTION FLOW DIAGRAM

Transactions are sent via a Synchronous HTTP POST; the response is received on the same TCP/IP connection. The transaction flow is depicted in the following diagram given below:

  • CUSTOMER TO MERCHANTS WEBSITE
    Customer submits payment request encrypted over SSL;

  • CUSTOMER TO MERCHANTS WEBSITE
    Contains all the necessary card data and card holder details. This is sent over secure encrypted SSL;

  • LPS SERVER TO MERCHANTS SERVER
    LPS gateway performs data, velocity, and fraud checks. If any fail, the transaction process is stopped, and a failure code is returned;

  • LPS SERVER TO BANK
    The transaction is sent from the LPS gateway to the bank;

  • LPS TO MERCHANTS SERVER
    LPS sends the bank response details to merchant server;

  • MERCHANT SERVER TO END USER
    Merchant updates database and notifies customer of success or failure of the transaction;

  • LPS SERVER TO END USER
    LPS can send an e-mail receipt to customers where the transaction is successful. Merchant can receive a copy of the e-mail for customer support or account management purposes;

  • 3D SECURE AUTHENTICATION
    LPS payment gateway can also perform 3D secure authentication for participating cardholders against their issuing bank before authorizing the transactions. The 3D secure flow is depicted in section 3.



THE 3D SECURE TRANSACTION


A pictorial representation of different stages that are involved in a 3DSecure Transaction is given below:
- At the point of checkout, the cardholder selects an appropriate payment method based on the initiatives supported by the Merchant.

- Based on the payment information the Merchant passes a lookup message to LPS. This message contains all the required information provided by the cardholder to check the enrolment of the cardholder.

- Based on the card number range (pulled from the Directory Server daily), a Verify Enrolment request message will be sent to the Enrolment Directory server.

- The Enrolment Directory will send the a Verify Enrolment Request to the card holder issuing bank ACS Server where it will verify the enrolment status.

- The Verify Enrolment Response is then passed back to the Directory Server with the corresponding ACS URL, if applicable.

- The information is then passed back to LPS where it is verified, and the Payment Authentication Request is created.

- The Lookup response is returned to the merchant with the Payer Authentication Request [PAReq].

- Based on the existence of the ACS URL in the Lookup response, the Merchant will redirect the card holder browser to the corresponding ACS Server.

- The cardholder enters their authentication data and initiates the authentication process directly with the ACS Server.

- The ACS, in conjunction with the Card Issuer, authenticates the cardholder.

- The Payer Authentication Response [PARes] along with the customer is returned to the LPS gateway, via the web browser.

- The Payer Authentication Response is then forwarded to the merchant.

- The merchant initiates the authenticate message, which is sent to the LPS gateway for processing.

- LPS 3D secure system validates the Payer Authentication Response, and along with the rest of the transaction information, sends out the authorization to the payment network.

LPS 3D SECURE INTEGRATION FLOW
NB. For questions or help at any stage of integration, please send an email to technical@lpsmail.com

1. OVERVIEW
The merchant’s server makes a request for authorisation passing all the mandatory fields and relevant optional fields through a synchronous secure HTTP POST as per table given in Schedule 2A. If the merchant has already integrated with LPS Payment Gateway, the post parameters remain the sameto maintain backward compatibility except for one additional optional parameter “3dSecureCheck”. By setting this parameter to “Y”, the merchant can force the transaction to be verified by 3d secure before authorisation. LPS Payment Gateway will check if the customer is enrolled for 3D SECURE verification. If the customer is enrolled, LPS Payment Gateway responds on the same synchronous connection the URL for customer’s issuing bank 3D SECURE verification URL along with 3D SECURE verification request. If the customer is NOT enrolled, LPS Payment Gateway proceeds with normal authorisation without 3D SECURE checks or rejects the transaction as per card scheme rules.
The rest of the document illustrates only in the case of if the customer is enrolled with their issuing bank for 3D SECURE checks. As explained above, if the customer is NOT enrolled the transaction will continue as normal synchronous authentication to the bank gateway and the AUTH response will be returned (if card scheme allows the normal authorisation).

NOTE:
The new parameter “3dSecureCheck” value will be overridden by any mandatory card scheme rules. Please consult with LPS for further information. Also, the default value for this new parameter is “N” implying that if the parameter is not sent, the transaction will be directly sent for authorisation provided there is no restriction by the card schemes.

2. REDIRECTING CUSTOMER IF ENROLLED
If the customer is enrolled for 3D SECURE checks, then LPS Payment Gateway will return the information as per table given in Schedule 2C. The merchant will be required to handle the response, check the presence of URL, and then redirect the customer to the URL returned along with Payment Authentication Request (PAReq) returned. When merchant redirects the customer to their issuing bank 3D SECURE page they will also be required to attach the “TARGET” page to which the customers will be redirected after successful 3D SECURE authentication with their issuing bank as a hidden field parameter. The merchant should also attach as hidden field parameters their system reference number and LPS Transaction Id for retrieval of the transaction at LPS Payment Gateway after 3D SECURE authentication.
If the customer is enrolled for 3D SECURE checks, then LPS Payment Gateway will return the information as per table given in Schedule 2C. The merchant will be required to handle the response,check the presence of URL, and then redirect the customer to the URL returned along with Payment Authentication Request (PAReq) returned. When merchant redirects the customer to their issuing bank 3D SECURE page they will also be required to attach the “TARGET” page to which the customers will be redirected after successful 3D SECURE authentication with their issuing bank as a hidden field parameter. The merchant should also attach as hidden field parameters their system reference number and LPS Transaction Id for retrieval of the transaction at LPS Payment Gateway after 3D SECURE authentication.

2.1 “BackToMerchantURL” Identifier
The table 2D in post fields section explains the parameters to be sent as part of redirecting the customer to their issuing bank 3dsecure page for authentication.

This contains a field called “BackToMerchantURL” which should be a numeric value as issued by Latpay. Merchants can provide any number of return URL’s to which they’d like to get customers landing back after completing the 3dsecure authentication. Each URL will be whitelisted by Latpay and a unique identifier issued which can then be used in the construction of MD parameter

2.2 LPS OPTIONAL REDIRECTION
LPS as an optional feature can also provide the redirection so that the customer is navigated to the 3D SECURE URL. To use this feature, the merchants should post back response received in schedule 2C as per schedule 2D(o) to the URL specified by LPS. This post must be from the browser and LPS will navigate the customer to their issuing bank 3D SECURE page. IN THIS SCHENARIO, SCHEDULE 2D(o) WILL REPLACE SCHEDULE 2D.

3. 3D SECURE AUTHENTICATION RESPONSE
When the customer is redirected to a URL on LPS Gateway after 3D SECURE authentication, it will match the transaction Id passed with the existing pending transaction. The status of the transaction will be updated to “3D SECURE Response Returned” and the 3D SECURE response will then be transferred back to a merchant’s URL which will return the customer back to the merchant site along with the details given in Table 2E.

The merchant should extract the 3D SECURE response and update the status of the transaction as 3D SECURE Response received. Note at this stage neither LPS nor the merchant know if the 3D SECURE authentication is successful. They will then open synchronous connection back to LPS payment gateway with the transaction details as shown in Table 2F.

4. ACQUIRER AUTHENTICATION
LPS Payment gateway on receiving the payment request as per table 2F will send the 3D SECURE authentication response back to the 3D SECURE provider to validate if the 3D SECURE authentication was successful. If successful, then it will be passed to the acquirer along with 3D SECURE authentication response. After the transaction is authorized / rejected, the response will be sent back to the merchant on the same synchronous connection along with the details specified in Table 2B with ResponseType = 1. If the 3D SECURE authentication has failed, LPS will return the transaction back to the Merchant as 3D SECURE failed transaction with the details specified in Table 2B with ResponseType = 0.

Request Fields

Schedule 2A – LPS POST Specification for Payment Request using CARD


Field Description Mandatory Data Type Length
merchant_User_Id Merchant’s user id provided by LPS Required varchar 50
merchantpwd Merchant’s PWD provided by LPS Required varchar 50
merchant_ipaddress Static IP address of the Merchant server Required, As provided by merchant
customer_firstname First name of the customer Required varchar 50
customer_lastname Last name of the customer Required varchar 50
customer_phone Telephone number of the customer Required varchar 50
customer_email Email address of the customer Required varchar 50
customer_ipaddress IP address of the customer Required varchar 50
bill_firstname First name of the card holder Required varchar 50
bill_lastname Last name of the card holder Required varchar 50
bill_address1 First line of street address for billing the CC Required varchar 100
bill_address2 Second line of street address for billing the CC Optional varchar 100
bill_city City for the billing the credit card Required varchar 50
bill_country Country for the billing the credit card Required See LPS Standard Codes
bill_state State for the billing the credit card Optional See LPS Standard Codes
bill_zip Postal code for the billing the credit card Required varchar 50
dateregistered Date customer setup an account with your site Optional varchar 50
customer_cc_expmo Expiration month(mm) of the credit card Required varchar 50
customer_cc_expyr Expiration year(yyyy) of the credit card Required varchar 50
customer_cc_number Credit card/Debit card number of the customer Required numeric 50
customer_dc_issue Debit card issue number Required (for debit cards only) numeric 2
customer_dc_startmo Debit card start month or valid from month (mm) Required (for debit cards only) varchar 50
customer_dc_startyr Debit card start year or valid from year (yyyy) Required (for debit cards only) varchar 50
customer_cc_type Credit Card type of the customer either VISA, MAST, SWITCH, SOLO, DELTA, AMEX, MAESTRO (Case Sensitive, upper case only) Required varchar 10
customer_cc_cvc CVC number of the bank of customer card Required numeric 3
customer_bank_name Name of issuing bank of customer card Optional
ship_to_address1 First line of the street address to ship the product Optional varchar 50
ship_to_address2 Second line of the street address to ship the product Optional varchar 50
ship_to_city City to which the ship the product Optional varchar 50
ship_to_country Country to which the ship the product Optional varchar 50
ship_to_phone Telephone number of shipping destination Optional varchar 50
ship_to_state State or province to which the ship the product Optional varchar 50
ship_to_zip Postal code to which the ship the product Optional varchar 50
ship_to_method Shipping method Optional varchar 50
merchant_ref_number Merchant generated reference number Required varchar 50
currencydesc=”XXX” XXX is the currency code you are transacting in i.e., USD, GBP, EUR Required See LPS Standard Codes
amount Purchase Amount – 2 decimal places only Required 2 decimal places
fees Merchant processing fee Optional 2 decimal places
3dSecureCheck Flag to indicate whether 3d secure code check to be performed. Valid values Y, N. Default: N Optional varchar 1
scsscheck Flag to indicate if SCSS is required. Values: Y, N, D. Y: Yes; N: No; [default if not sent] D: Done, token posted with the request Conditional*** (Only if SCSS options are required). ***If set to Y or N, then CrdStrg_Token field will be ignored even if sent varchar 1
Request Fields Using Token

Schedule 2A(T) – LPS POST Specification for Payment Request using CARD TOKEN


Field Description Mandatory Data Type Len
merchant_User_Id Merchant’s user id provided by LPS Required varchar 50
merchantpwd Merchant’s PWD provided by LPS Required varchar 50
merchant_ipaddress Static IP address of the Merchant server Required, As provided by merchant
customer_firstname First name of the customer Required varchar 50
customer_lastname Last name of the customer Required varchar 50
customer_phone Telephone number of the customer Required varchar 50
customer_email Email address of the customer Required varchar 50
customer_ipaddress IP address of the customer Required varchar 50
bill_firstname First name of the card holder Optional varchar 50
bill_lastname Last name of the card holder Optional varchar 50
bill_address1 First line of street address for billing the CC Optional varchar 100
bill_address2 Second line of street address for billing the CC Optional varchar 100
bill_city City for the billing the credit card Optional varchar 50
bill_country Country for the billing the credit card Optional See LPS Standard Codes
bill_state State for the billing the credit card Optional See LPS Standard Codes
bill_zip Postal code for the billing the credit card Optional varchar 50
dateregistered Date customer setup an account with your site Optional varchar 50
CrdStrg_Token Unique card details identifier from LPS SCSS system Required varchar 100
customer_cc_cvc Card security code / CVN / CVV2 Required numeric 3
ship_to_address1 Shipping address line 1 Optional varchar 50
ship_to_address2 Shipping address line 2 Optional varchar 50
ship_to_city Shipping address city Optional varchar 50
ship_to_country Shipping address country Optional varchar 50
ship_to_phone Telephone number of shipping destination Optional varchar 50
ship_to_state State or province to which the ship the product Optional varchar 50
ship_to_zip Postal code to which the ship the product Optional varchar 50
ship_to_method Shipping method Optional varchar 50
merchant_ref_number Merchant generated reference number Required varchar 50
currencydesc Transaction currency in ISO 3-digit format. For e.g. USD, GBP, EUR Required See LPS Standard Codes
amount Purchase Amount – 2 decimal places only Required 2 decimal places
fees Merchant processing fee Optional 2 decimal places
scsscheck Flag to indicate SCSS. Values: D D: Done, token posted with the request. For token processing, set it to D Required varchar 1
3dSecureCheck Flag to indicate whether 3d secure code check to be performed. Valid values Y, N. Default: N Optional varchar 1
Response Fields
Payment Response

Schedule 2B – LPS POST Specification for Payment Response


This response will be returned to the merchant if the customer is NOT enrolled for 3D SECURE checks or after passing the 3D SECURE authentication request to LPS payment gateway. The ResponseType will either be 0 or 1. This response indicates the fraud screening or bank response.

METHOD – POST
Field Description Data Type Length
ResponseType Transaction response type -Point A int 4
LPS_transaction_id Unique Identifier for the transaction generated by LPS int 4
Merchant_ref_number Merchant reference number generated for the order varchar 50
Lpsid LPS Response Authentication User Id varchar 50
Lpspwd LPS Response Authentication User Password varchar 50
Fraudscreening_status Fraud screening response code from LPS – Point B int 4
Bank_status Status of the transaction at the bank - Point C int 4
Amount Transaction amount 2 decimal places
Currency Transaction currency as per ISO code varchar 4
Bank_transaction_no Unique Bank ID varchar 50
Bank_authorisation_no Bank authorization number, save for your records varchar 50
Bank_date Date of bank transaction varchar 50
Bank_time Time of bank transaction varchar 50
Bank_original_code Original Bank Status code varchar 255
AVS_Result Customer Address verification result for the address line1 value posted by merchant Values:Empty or 2: Not verified / Not checked; 1: Failed; 0: Successful. Int 4
CVN_Result Result of CVC entered by customer Values: Empty or 2: Not verified / Not checked; 1: Failed; 0: Successful int 4
CrdStrg_Token*** Unique card token generated for the card posted varchar 100

Note:

  • The entire Schedule 2B is always returned regardless of the transaction status.
  • The variables highlighted above in blue are always returned with values regardless of the ResponseType.
  • With a ResponseType=0 (fraudscreening status) then the variables in green will be blank. With a ResponseType=1 then all variables will be returned with appropriate values.
  • ***CrdStrg_Token: Will be returned only if SCSScheck was set to Y on request post (or) the token itself was posted on request along with SCSScheck set to D.
3D SECURE Enrolment Response

Schedule 2C – LPS POST Specification for 3D SECURE Enrolment Response


This response will be returned to the merchant if the customer is enrolled for 3D SECURE checks. The ResponseType will be 2. This response indicates the 3D SECURE enrolment response.

METHOD – POST
Field Description Data Type Length
ResponseType Transaction response type - Point A int 4
LPS_transaction_id Unique Identifier for the transaction generated by LPS int 4
Merchant_ref_number Merchant reference number generated for the order varchar 50
Lpsid LPS Response Authentication User Id varchar 50
Lpspwd LPS Response Authentication User Password varchar 50
VBV_URL Fraud screening response code from LPS Customer’s Issuing Bank 3D SECURE Authentication URL varchar 500
PAReq 3D SECURE Provider Payment Authentication Request Text

The entire Schedule 2C is always returned if the customer is enrolled for 3D SECURE. The merchant must check for a valid value in VBV_URL before redirecting the customer along with PAReq and other hidden field details as given in Schedule 2D.
Redirection POST parameters

Schedule 2D – Merchant Redirection POST parameters


On receiving a ResponseType=2 from LPS payment gateway, the merchant needs to redirect the customer to the VBV_URL along with the following hidden post variables.

METHOD – POST
Field Description Data Type Length
PaReq 3D SECURE Provider Payment Authentication Request returned in 2C Text
TermUrl The “target” page on LPS payment gateway to which the customer is redirected after 3D SECURE authentication varchar 500
MD Merchant Details. The following post variables must be concantenated together: a. TransactionId (LPS Transaction Id) b. Merchant_ref_number (Merchant Ref Number) c. BackToMerchantURL (a numeric value) Text

Note that all the fields are mandatory and must be sent as hidden variables.

IF SCHEDULE 2D(o) IS OPTED THE ABOVE POST SHOULD NOT BE IMPLEMENTED.
Optional Redirection POST parameters

Schedule 2D(o) – OPTIONAL LPS Redirection POST parameters


On receiving a ResponseType=2 from LPS payment gateway and if the merchant wishes to redirect the customer through LPS they need to post to a predefined LPS URL along with the following hidden post variables.

METHOD – POST
Field Description Data Type Length
PaReq 3D SECURE Provider Payment Authentication Request returned in 2C Text
VBVUrl The “target” page on LPS payment gateway to which the customer is redirected after 3D SECURE authentication varchar 500
TermUrl The “target” page on LPS payment gateway to which the customer is redirected after 3D SECURE authentication varchar 500
MD Merchant Details The following post variables must be concantenated together: a. TransactionId (LPS Transaction Id) b. Merchant_ref_number(Merchant Ref Number) c. BackToMerchantURL(a numeric value) Text

Note that all the fields are mandatory and must be sent as hidden variables.

THIS POST MUST BE BROWSER TO SERVER POST

3D Secure Authentication Response
POST /url/path/

Schedule 2E – LPS POST Specification for 3D SECURE Authentication Response


This response will be returned to a specified URL at the merchant server after 3D SECURE authentication by the customer at their issuing bank. The ResponseType will be 3. This response indicates the 3D SECURE authentication response.

Field Description Data Type Length
ResponseType Transaction response type - Point A int 4
LPS_transaction_id Unique Identifier for the transaction generated by LPS int 4
Merchant_ref_number Merchant reference number generated for the order varchar 50
Lpsid LPS Response Authentication User Id varchar 50
Lpspwd LPS Response Authentication User Password varchar 50
PARes 3D SECURE Authentication Response Text

The entire Schedule 2E is always returned after 3D SECURE authentication response has been received by LPS Payment Gateway. The customer is also transferred along with this response and the merchant should then open a back-door synchronous connection for transaction authorisation with 3D SECURE response.

SCHEDULE 2F – MERCHANT AUTHENTICATION REQUEST WITH 3D SECURE AUTHENTICATION RESPONSE
After receiving the 3D SECURE response and customer back to their website, the merchant should open a synchronous connection back to LPS payment gateway with the following details which include the 3D SECURE response.

METHOD – POST
Field Description Data Type Length
LPS_Transaction_id Unique Identifier for the transaction generated by LPS int 4
Merchant_ref_number Merchant reference number generated for the order varchar 50
PARes 3D SECURE Authentication Response Text



All the above fields are mandatory. After authentication, the details specified in Table 2B will be returned with a ResponseType of 0 or 1

LPS RESPONSE CODES

a. LPS RESPONSE TYPE CODES (ResponseType)

Description Code
Fraud screening response 0
Bank transaction response 1
3D SECURE Enrolled Response 2
3D SECURE Authentication Response 3



b. LPS FRAUD SCREENING RESPONSE CODES (Fraudscreening_status)

Code Description Description
0 Fraud screening passed
1001 Authentication failed for Merchant Wrong id, password or IP supplied
1002 Merchant account inactive Merchant account inactive
1004 Customer has exceeded allowed transactions number for 24 hours Velocity control on purchases per day
1005 Purchase amount check *** Repeated amounts being purchased
1006 Invalid credit card number. Incorrect digit length for card type
1007 Invalid credit card expiry details.
1008 Luhn’s modulus check failed. CC number is invalid for card type
1009 PO Box error *** Bill address contains a PO Box address
1010 Failed Country lookup Bill country is on a negative country list
1011 Failed IP lookup Customer IP is on a negative IP list
1012 Failed BIN lookup Customer CC BIN is on a negative list
1013 Customer card no. exceeded bank rejection limit Customer credit card has reached its
1014 Customer blocked Customer is temporarily blocked pending investigation
1015 Minimum purchase check Purchase amount is below a specified level
1016 Failed IP check. *** Customer IP not in allowed list of IPs’.
1017 Cardtype check failed*** The card type is not allowed
1020 MOTO block MOTO not enabled.
1021 Recurring block Recurring not enabled
5001 3D SECURE Authentication Failed Customer card enrolled for 3D SECURE, but 3D SECURE authentication failed
5002 Intermediate 3d Secure Response code Returned in schedule 2C Response if card is enrolled for 3d Secure
5003 Intermediate 3d Secure Response code** Internal to LPS, indicating customer has completed authentication in ACS URL and landed back to LPS server.
5004 Intermediate 3d Secure Response code** Internal to LPS, indicating merchant has sent PARES to LPS Server.
5005 Intermediate 3dsecure response code** Internal to LPS, indicating customer redirection to ACS URL completed and awaiting return back to TermURL.
5006 3dsecure authentication status code Unable to verify PaRes as 3dsecure not available
5007 3dsecure authentication status code Invalid 3dsecure parameters
5008 3dsecure processing only Account supports 3d only, send 3dsecurecheck = Y
9000 Unexpected error. Incorrect data types, unknown error
9001 Missing required field. A transaction id of –1 will also be returned
9002 Mastercard transactions blocked *** MasterCard not enabled
9003 Currency Block*** Currency NOT enabled.
9004 Bank gateway not enabled. Bank gateway not enabled.
9005 Amex card transaction blocked Amex card transactions not allowed.
9009 SCSS service not enabled MasterCard not enabled
9010 SCSS unique identifier error SCSS token not found or error.

NB
***May not be activated for your account(s)
**Internal to LPS, will not be returned on standard response.
*Code returned when strict 3dsecure is enforced - can be enabled on explicit request - default is when card not enrolled, a standard authorisation will be attempted and a 2B response will be returned

c. LPS BANK RESPONSE CODES (Bank_status)

Description Code
Accepted 00
Rejected 05
Communication failure 90



d.CVN/AVS/ZIP RESULT CODES (CVN_Result, AVS_Result & ZIP_Result)

Description Code
Data matched 0
Data not matched 1
Not verified by Bank 2



e. UNIQUE BANK CODE AND MESSAGE (bank_code & bank_message)

LPS Unique Bank Code LPS Bank Message
N7 Decline for CVV2 failure
R1 Revocation of Authorization Order
00 Approved
01 Issuer Declined
02 Refer to Issuer
03 Invalid merchant or service provider
04 Retain Card
05 Do not honour
06 False Transaction
07 Pickup card, special condition (other than lost/stolen card)
08 Honour with Identification
12 Invalid transaction
13 Invalid amount (currency conversion field overflow) or amount exceeds maximum for card program
14 Invalid account number (no such number)
15 No such issuer
21 No action taken
22 Suspected Malfunction
30 Format Error
34 Suspected fraud, capture
40 Requested function not supported
41 Lost Card
43 Stolen Card
51 Insufficient funds
54 Expired card
57 Transaction not permitted to cardholder
58 Transaction not allowed at terminal
59 Suspected Fraud
61 Activity amount limit exceeded
62 Restricted card (for example, in Country Exclusion table)
63 Security violation
65 Activity count limit exceeded
75 Allowable number of PIN-entry tries exceeded
76 Unable to locate previous message (no match on Retrieval Ref no)
83 Unable to verify PIN
91 Issuer unavailable
92 Financial institution or intermediate network unknown for routing
93 Transaction cannot be completed, violation of law
94 Duplicate Transmission
96 System malfunction, System malfunction or certain field error conditions
104 Billing country blocked
105 Issuing country of card bin blocked
106 Vendor is not registered for currency
201 Bank account configuration error
203 Host timeout
204 Insufficient terminals
301 Declined by Acquirer



Testing
The system is currently in production and any testing must be informed well in advance to LPS.

APPENDIX C: MANAGING CARD TOKENS FROM LPS SCSS SYSTEM
When merchants process recredits using SCSS system and generate card tokens corresponding to the customer card details, they can use the token as the reference for all subsequent transactions for that customer. The SCSS system provides two layers of encapsulation and hence it will not be possible to derive card details from token in anyway. To provide options for merchants to manage the details of card tokens, LPS SCSS system provides API which will enable merchants to automatically manage their card tokens. For example, if the expiry dates need to be changed due to card renewal it will not be necessary to post the whole details, but just the new changed details to the manage SCSS API functionality which will selectively update required information.

Currently LPS SCSS manage API provides three functionalities:

  • Querying of card details linked to a token;
  • Updating of card details linked to a token;
  • Deletion of a token;

A1. POSTING PARAMETERS

Form Field Description Details
Merchant_id LPS Provided value Mandatory
merchantpwd Password used for authenticating the refund account. Mandatory
AccountType Type of account. Valid values are:
a. A: Auth account (default);
b. R: Recredit account;
Mandatory
RequestType SCSS manage card token request type. It should be one of the following:
SCSS_Q: Querying card token details;
SCSS_U: Update card token details;
SCSS_D: Delete card token details;
Mandatory
CrdStrg_Token Unique card details identifier from LPS SCSS system Mandatory
Bill_firstname Billing customer first name Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Bill_lastname Last name of the card holder Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Bill_address1 First line of street address for billing the CC Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Bill_address2 Second line of street address for billing the CC Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Bill_city City for the billing the credit card Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Bill_state State for the billing the credit card Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Customer_cc_type Credit Card type of the customer either VISA, MAST, SWITCH, SOLO, DELTA, AMEX, MAESTRO (Case Sensitive, upper case only) Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Customer_cc_expmo Expiration month(mm) of the credit card Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
NOTE: If this value is sent then Customer_cc_expyr must be sent as well
Customer_cc_expyr Expiration year(yyyy) of the credit card Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
NOTE: If this value is sent then Customer_cc_expmo must be sent as well.
Customer_dc_startmo Debit card start month or valid from month(mm) Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
NOTE: If this value is sent then Customer_cc_startyr must be sent as well.
Customer_dc_issue Debit card issue number Optional *** To be sent only for RequestType SCSS_U and if value need to be updated

A2. RESPONSE PARAMETERS

Form Field Description
ResponseType Response type code. See A3 below.
RequestType Unique code for the request process
Requestid Unique Identifier for the request generated by LPS
CrdStrg_Token SCSS system unique card identifier sent in request
Bill_firstname First name of the card holder stored for the unique identifier sent.
Bill_lastname Last name of the card holder stored for the unique identifier sent
Bill_address1 Billing customer first line of address stored for the unique identifier sent.
Bill_address2 Billing customer second line of address stored for the unique identifier sent.
Bill_city Billing customer city stored for the unique identifier sent.
Bill_state Billing customer state stored for the unique identifier sent.
Bill_country Billing customer country code stored for the unique identifier sent.
Bill_zip Billing customer postal code / zip code stored for the unique identifier sent.
CardBin Bin number of the card stored for the unique identifier sent.
CardLast4 Last 4 digit of the card number stored for the unique identifier sent
Customer_cc_type Credit Card type stored for the unique identifier sent.
Customer_cc_expmo Expiration month(mm) of the credit card stored for the unique identifier sent.
Customer_cc_expyr Expiration year(yyyy) of the credit card stored for the unique identifier sent.
Customer_dc_startmo Debit card start month or valid from month (mm) stored for the unique identifier sent.
Customer_dc_startyr Debit card start year or valid from year (yyyy) stored for the unique identifier sent
Customer_dc_issue Debit card issue number stored for the unique identifier sent.
Status Status code to indicate the request status.



A3. RESPONSETYPE CODE

Description Code
SCSS manage card token API response 7

A4. STATUS CODE

Description Code
0 Request completed successfully
1001 User authentication failed, or account not enabled for SCSS manage card token processing
1002 Merchant account inactive.
9000 Unexpected system error
9001 Mandatory field missing
9009 Merchant account not enabled for SCSS
9010 SCSS unique identifier incorrect or not found.
9011 Token creation failed as card number already exists in SCSS.

Examples return response

1. sample response for querying existing the card token details.
1.sample response for querying existing the card tokendetails.ResponseType=7&RequestType=SCSS_Q&Requestid=1003&Bill_firstname=Ian&Bill_lastname=Vidamour&Bill_address1=34,Millersstreet&Bill_address2=Northlaneroad&Bill_city=London&Bill_state=Manchester&Bill_country=GB&Bill_zip=SE1&CardBin=420000&CardLast4=0000&Customer_cc_type=VISA&Customer_cc_expmo=11&Customer_cc_expyr=2011&Customer_dc_startmo=&Customer_dc_startyr=&Customer_dc_issue=&CrdStrg_Token=0x1375bb33612cd9cb18c52f33e748f4db&Status=0

APPENDIX D: TRANSACTION STATUS CHECK API
LPS Payment Gateway provides an API call to check the status of transaction sent for authorisation. This API call can be used in the event of communication failures. The API provides option to query for status in Realtime i.e. as soon the transaction is submitted. Due to security reasons, there is a threshold of ten minutes within which the same transaction should not be queried, or else a prescreening code will be returned.

D1. POSTING PARAMETERS

Field Description Required/ Optional Data Type Length
merchant_user_id Merchant’s user id provided by LPS Required varchar 50
merchantpwd Merchant’s PWD provided by LPS Required varchar 50
merchant_ipaddress Static IP address of the Merchant server Required, as provided by merchant
merchant_ref_number Merchant generated reference number Required varchar 50
currencydesc=” XXX” XXX is the currency code you are transacting in i.e., USD, GBP, EUR Required varchar 3
amount Purchase Amount – 2 decimal places only Required 2 decimal places
lps_transaction_id Original transaction unique identifier generated by LPS Optional Int 10
realtime Flag to indicate if transaction processed within last 60 mins.
Values: Y, N (default)
Y: Yes; (recent transactions within last 60 mins)
N: No; [past transactions processed 1 hour before]
Optional varchar 1



D2. POSTING PARAMETERS

Fields Description Data Type Length
responsetype Transaction response type -Point d3 int 4
authstatuscheck_id Unique Identifier for the Status check request generated by LPS
merchant_ref_number Merchant reference number generated for the order varchar 50
amount Transaction amount 2 decimal places
currency Transaction currency as per ISO code varchar 4
authstatuscheck_status Pre-screening response code from LPS – Point d4 int 4
lps_transaction_id Original transaction Identifier which already generated for the transaction by LPS. int 4
transaction_status Status of the transaction at the LPS - Point d5 int 4
bank_transaction_no Unique Bank ID varchar 50
bank_authorisation_no Bank authorization number, save for your records varchar 50
transactiondate Date and time of transaction processed varchar 255
crdstrg_token*** Unique card token generated for the card posted varchar 100



D3. LPS Response Type Codes (responsetype)

Description Code
Pre-screening response 0
Status Check response 5



D4. Response Codes (authstatuscheck_status)

Code Description Reason
0 Pre-screening passed
1001 Authentication failed for Merchant Wrong id, password or IP supplied
1002 Merchant account inactive Merchant account inactive
6003 Transactions not found Specified fields merchant ref number/currency/amount not matched or transactions not found.
6009 Repeated request within 10 mins Repeated status check query request (within 10 minutes)
9000 Unexpected error. Incorrect data types, unknown error
9001 Missing required field A LPS_AuthStatusCheck_Id of –1 will also be returned



D5. LPS Transaction Response Codes (transaction_status)

Code Description Reason
00 Bank Accepted
05 Bank Rejected
90 Communication Failure (Pending) Communication failure between LPS & bank, pending investigation and status update
91 Communication Failure Communication failure, transaction not processed by bank
1003 Transaction amount exceeds the Per Transaction Limit. Transaction is greater than the allowed value for the day
1004 Customer has exceeded allowed transactions number for 24 hours Velocity control on purchases per day
1005 Purchase amount check *** Repeated amounts being purchased
1006 Invalid credit card number. Incorrect digit length for card type
1007 Invalid credit card expiry details
1008 Luhn’s modulus check failed. CC number is invalid for card type
1009 PO Box error *** Bill address contains a PO Box address
1010 Failed Country lookup Bill country is on a negative country list
1011 Failed IP lookup Customer IP is on a negative IP list
1012 Failed BIN lookup Customer CC BIN is on a negative list
1013 Customer card no. exceeded bank rejection limit Customer credit card has reached its
1014 Customer blocked Customer is temporarily blocked pending investigation
1015 Minimum purchase check Purchase amount is below a specified level
1016 CFailed IP check.*** Customer IP not in allowed list of IP’s.
1017 Cardtype check failed*** The card type is not allowed
1020 MOTO block MOTO not enabled.
1021 Recurring block Recurring not enabled.
5001 3D SECURE Authentication Failed Customer card enrolled for 3D SECURE, but 3D SECURE authentication failed
5002 Intermediate 3d Secure Response code Returned in schedule 2C Response if card is enrolled for 3d Secure
5003 Intermediate 3d Secure Response code** Internal to LPS, indicating customer has completed authentication in ACS URL and landed back to LPS server.
5004 Intermediate 3d Secure Response code** Internal to LPS, indicating merchant has sent PARES to LPS Server.
5005 3dsecure processing only Account supports 3d only, send 3dsecurecheck = Y
5006 3dsecure authentication status code Unable to verify PaRes as 3dsecure not available
5007 3dsecure authentication status code Invalid 3dsecure parameters
5010 Customer not enrolled or Issuer not participating in 3dsecure * Card not enrolled
9000 Unexpected error. Incorrect data types, unknown error
9001 Missing required field. A transactionid of –1 will also be returned
9002 Mastercard transactions blocked *** MasterCard not enabled
9003 Currency Block*** Currency NOT enabled.
9004 Bank gateway not enabled Bank gateway not enabled.
9005 Amex card transaction blocked Amex card transactions not allowed.
9005 Amex card transaction blocked Amex card transactions not allowed.
9009 SCSS service not enabled Account not enabled for SCSS.
9010 SCSS unique identifier error SCSS token not found or error.



NB:
*** May not be activated for your account(s)
** Internal to LPS, will not be returned on standard response.
*Code returned when strict 3dsecure is enforced - can be enabled on explicit request - default is when card not enrolled, a standard authorisation will be attempted and a 2B response will be returned

Merchant Authentication Request
POST /url/post/

Schedule 2F – Merchant Authentication Request with 3D SECURE Authentication Response


After receiving the 3D SECURE response and customer back to their web site, the merchant should open a synchronous connection back to LPS payment gateway with the following details which include the 3D SECURE response

Field Description Data Type Length
LPS_Transaction_id Unique Identifier for the transaction generated by LPS int 4
Merchant_ref_number Merchant reference number generated for the order varchar 50
PARes 3D SECURE Authentication Response Text

All the above fields are mandatory. After authentication the details specified in Table 2B will be returned with a ResponseType of 0 or 1.
Additional Post Response Fields

APPENDIX B: Additional Post Response Fields


Depending on the merchant's account setup status, LPS enterprise payment gateway can respond additional fields in addition to the fields specified in the "schedule 2B" which is the response to confirm the results of the transaction. These fields will NOT be enabled by default and cannot be guaranteed to be returned even if enabled. Depending on the outcome of the transaction and on the gateway on which the merchant is setup, these fields can be returned. LPS will continue to add these additional response fields as required in future releases/upgrades of the gateway. If merchants wish to get these fields returned, they would need to contact LPS to get their accounts configured.

Field Description Data Type Length
AVS_Result Customer address verification result for the address line1 value posted by merchant Values: Empty or 2: Not verified / Not checked; 1: Failed; 0: Successful Int 4
ZIP_Result Customer Zip code verification result for the bill_zip value posted by merchant Values: Empty or 2: Not verified / Not checked; 1: Failed; 0: Successful. Int 4
CVN_Result Result of CVC entered by customer Values: Empty or 2: Not verified / Not checked; 1: Failed; 0: Successful Int 4
CardBin First 6 digit of customer card Int 6
CardLast4 Last 4 digit of customer card Int 4
CardType Card Scheme of customer card String 10
CardIssuingCountry Country code of the Card Issuing country String 2
CardIssuer Card Issuer name String 100
BankIdentifier Identifier name of the bank which transaction processed String 10
IsEnrolled Flag indicating either cardholder or the issuer participating in 3d secure program. Possible values: Y: Card enrolled N: Card not enrolled Empty or U: Unable to verify varchar 1
ECI Electronic commerce indicator as returned by card schemes varchar 2
bank_code Common LPS unique bank code indicating reason for transaction decline String 10
bank_message bank code description String 100
Hosted Payment
Introduction

LPS Hosted Payment System (HPS) is a simple integration method suitable for all e-commerce merchants. It allows real-time transaction processing and at the same time can remove the problems involved in collecting and storing of cardholder details on merchant systems. The HPS is fully secure and linked to the LPS enterprise payment gateway which provides sophisticated fraud and risk assessment in addition to authorising the transaction. The HPS uses HTML redirect messages to pass information between merchant e-commerce site and LPS.
This method does not involve installation of any files at merchant site and hence is very simple to implement. We provide a 256-bit SSL interface for secure transmission of data over the internet. A secure reporting and administration system to provide real time information is also made available to the merchant. This document serves to explains the technical integration requirements and procedures. It is of a technical nature and should be read as such.

HPS WORKFLOW
This integration method uses HTML forms to pass information to LPS payment gateway for payment processing. Merchants should create a purchase order form which describes the details of goods or service purchased by the customer

  • When a shopper is ready to pay for their goods, the merchants website should submit the order details to our hosted payment page.
  • The shopper will then be taken to the LPS payment page to enter their payment details, such as credit/debit card details.
  • Once the shopper confirms the purchase the HPS system sends a request to LPS enterprise payment gateway which forwards the shopper’s details to the Acquiring bank, and which in turn returns an authorised or declined response to LPS.
  • HPS then displays the result to the shopper and sends them a confirmation email.
  • The transaction status is then sent to merchant. If the merchant had opted for synchronous post back response, then HPS will call the merchant post back URL and post the response fields. The customer is then taken back to merchant site along with the response fields in another HTML redirect post session

3D SECURE
The LPS HPS Payment page is integrated with 3dsecure transaction payment processing. The merchant can indicate if the transaction should be processed as 3DSecure by setting theappropriate flag when redirecting the customer to the HPS payment system.

SECURE CARD STORAGE SERVICES (SCSS)
LPS HPS system is also linked with “Secure Card Storage Services (SCSS)” system which will help merchants to comply with PCI DSS audit requirements by removing the necessity to store card details in their system. SCSS system reduces the overhead of storing, managing and transmitting credit card details and card holder data. LPS HPS standard redirection post fields provide an option to flag a transaction to be part of SCSS and it automatically stores the card details and a corresponding token is returned in the response.

The encryption functionality works as follows:
a. Merchant should concatenate the following fields in the same order:

  • currencydesc
  • amount
  • merchant_ref_number
  • secret key

b. Merchant should generate SHA1 hash of the above concatenated field and post this value in“transactionkey” field along with other redirection parameters as per Schedule 2A.
In the LPS HPS System, the transactionkey is validated by computing the hash value again and only if the posted key matches the key computed at our end (i.e. no data tampering during transit), the transaction is accepted for processing. If the hash doesn't match, the transaction request is declined.

PAYMENT CALLBACK NOTIFICATION
LPS HPS system provides payment callback notification which effectively calls a listening URL at merchant server as soon as a transaction is completed. This helps merchants to get notified instantly of transaction statuses instead of relying on customer getting redirected back to their server along with status fields. Though this is optional, LPS strongly recommends merchants to enable this feature so that in cases where customer accidentally closes the browser after transaction is completed at LPS HPS, merchants are still able to update the account details before customer returns to the site.

However, it is important for merchant NOT to have long business processes running on this listening URL. LPS HPS effectively waits only 30 seconds for the notification process to complete.

Merchant must quickly respond back the response string “RECEIVED OK” as soon as the notification is received. They should then proceed with updating their business process asynchronously. The reason being, since customer are effectively held in LPS HPS whilst notification is being delivered, it’s important for Merchant to respond quickly, so that we can then start the process of returning customer back to merchant website. If LPS HPS doesn’t get the response string within 30 seconds, it closes the connection and marks the notification as failed. However, we will still redirect the customer back to merchant site along with the usual response fields.

MULTILANGUAGE SUPPORT AND AMOUNT FORMAT
LPS HPS System support Multilanguage display wherein the payment page can be customised and displayed in the language of choice requested by merchant. The merchant can capture the culture locale of customer and accordingly can display the payment page. The language required to be displayed is to be sent as a request parameter when sending the initial form post request.

It is important to understand the implications of culture format on the amount field. Different cultures format the amount differently.

When sending the amount field on the initial post, it is very important that the amount is formatted as “culture independent” which uses decimal point for separating the major and minor units. For e.g. EUR 500.50, SEK 2575.75 etc.

Any request to use other languages on the payment page will be handled only after the request is received by the main payment form and thus it is important that when submitting the amount field, it is not formatted according any specific locale but always using decimal point with 2 decimal digits.

For more information on language supported, please refer to Appendix D.

FUNCTIONAL FLOW DIAGRAM


INTEGRATION IN DETAIL
NB. For questions or help at any stage of integration, please send an email to technical@lpsmail.com

OVERVIEW
Integrating with LPS Hosted Payment System is a very simple process. The points below describe the process of setting up an integration using a sample HTML form.

ORDER DETAILS TO LPS HPS
Order details submission from merchant to LPS HPS is simply a HTML form with a number of post fields. It should contain a list of mandatory fields as specified in Appendix A “Authorisation Post Fields & Response Fields”. It can also contain a range of optional fields. The merchant system should “POST” this form to the LPS HPS URL when the customer has selected to proceed with making payment on merchant site.

A sample order details submission form is given below:

<form method="post" action="HPS_payment.aspx">
<!--Authentication details-->
<input type="hidden" name="Merchant_User_Id" value="" />
<!--Customer Details-->
<input type="hidden" name="customer_firstname" value="" />
<input type="hidden" name="customer_lastname" value="" />
<input type="hidden" name="customer_phone" value="" />
<input type="hidden" name="customer_email" value=""/>
<input type="hidden" name="customer_ipaddress" value="" />
<!--Billing details-->
<input type="hidden" name="bill_firstname" value=""/>
<input type="hidden" name="bill_lastname" value=""/>
<input type="hidden" name="bill_address1" value="" />
<input type="hidden" name="bill_address2" value="" />
<input type="hidden" name="bill_city" value="" />
<input type="hidden" name="bill_country" value="" />
<input type="hidden" name="bill_state" value="" />
<input type="hidden" name="bill_zip" value="" />
<!--Delivery details-->
<input type="hidden" name="ship_to_address1" value="" />
<input type="hidden" name="ship_to_address2" value="" />
<input type="hidden" name="ship_to_city" value="" />
<input type="hidden" name="ship_to_country" value="" />
<input type="hidden" name="ship_to_phone" value="" />
<input type="hidden" name="ship_to_state" value="" />
<input type="hidden" name="ship_to_zip" value="" />
<input type="hidden" name="ship_to_method" value="" />
<input type="hidden" name="merchant_ref_number" value="" />
<!--Purchase details-->
<input type="hidden" name="Purchase_summary" Value="" />
<input type="hidden" name="currencydesc" Value="" />
<input type="hidden" name="amount" Value= "" />
<!--Security details-->
<input type="hidden" name="transactionkey" Value="" />
</form>



CARDHOLDER DETAILS CAPTURE
The HPS will display a payment page to the customer on successful redirection by the merchant using the order details form. The HPS will first authenticate to make sure the merchant is validated before allowing the payment page to be shown to customer. The customer will be able to enter the card details and to verify his purchase details. Finally, once all fields have been entered the customer will be able to make the payment.

PAYMENT PROCESSING STATUS
Once customer has clicked to pay for the transaction, the HPS system will send the request to the Acquiring bank and wait for authorisation response. The customer browser will NOT be redirected, and it will be server-to-server synchronous post request send to bank. Once receiving the response, HPS will display the status of the transaction result

PAYMENT CALLBACK NOTIFICATION
This is a feature in HPS. If the merchant has opted for payment callback notification, the HPS will automatically call a URL on the merchant server and post transaction status fields. This will make sure the merchants back office system is updated directly on response from the HPS and is not reliant on customer returning to merchant website along with the status. Merchant notification URL should quickly respond with “RECEIVED OK” on receiving the notification. An email confirming the payment authorisation will also be sent out to the customers on all successful authorisation requests.

CUSTOMER REDIRECTION BACK TO MERCHANT SITE
Once the transaction has been processed, the customer will be able to navigate back to merchant site from the HPS. The transaction status post fields will be posted back along with the redirection. This process also signals the end of transaction.

INFORMATION TO BE SUPPLIED BY MERCHANT
The following information is required:

  • User name & Password:
    The user name and password used for authentication on the return post from the LPS server to the merchant server.
  • IP address of server:
    The IP address of the merchant web server needs to be provided. Please notify LPS before changing your IP address.
  • Technical Contact:
    Technical contacts details.
  • Email address for Sending Email receipts:
    Please provide the “sent from” e-mail address for e-mails sent to customers. i.e. orders@merchant.com.
  • Email Address for Receipt of Email receipts:
    The merchant is Bcc’d on all receipts sent to customers. Please provide an e-mail address for these mails to be sent to. E.g.accounts@merchant.com
  • Secret key for generating one-way hash transaction key post field:

TESTING
Once the relevant information has been supplied to LPS, a test account will be created. The details of which will be returned by email to the merchant.

All test transactions should be sent to the URL as specified by LPS. The LPS test platform will respond, as it will do in a live environment.
The following rules must apply to testing:

  • Use CC numbers as given in the test cards document.
  • Use any expiry date but must be valid i.e. a date in the future
  • Use any CVC code but must be valid i.e. three digits in length.

NB. No authorisations will be made on your credit card.
Once testing is complete, LPS will provide a live URL and/or live account details for you to finalise end-to-end testing with the bank. At this stage authorisations will be made on your card.

Post Fields

APPENDIX A: MERCHANT POSTED FIELDS TO LPS HOSTED PAYMENT SYSTEM

Field Description Required/ Optional Data Type Length
merchant_User_Id Merchant’s user id provided by LPS Required varchar 50
customer_firstname First name of the customer Required varchar 50
customer_lastname Last name of the customer Required varchar 50
customer_phone Telephone number of the customer Required varchar 50
customer_email Email address of the customer Required varchar 50
customer_ipaddress IP address of the customer Required varchar 50
bill_firstname First name of the card holder Required varchar 50
bill_lastname Last name of the card holder Required varchar 50
bill_address1 MBill address line1 Required varchar 100
bill_address2 Bill address line2 Optional varchar 100
bill_city Bill city Required varchar 50
bill_country Bill country Required See LPS Standard Codes
bill_state Bill state Optional See LPS Standard Codes
bill_zip Postal code for the billing the credit card Required varchar 50
dateregistered Date customer setup an account with your site Optional varchar 50
ship_to_address1 Delivery address line1 Optional varchar 50
ship_to_address2 Delivery address line2 Optional varchar 50
ship_to_city Delivery city Optional varchar 50
ship_to_country Delivery country Optional varchar 50
ship_to_phone Telephone number of shipping destination Optional varchar 50
ship_to_state State or province to which the ship the product Optional varchar 50
ship_to_zip Postal code to which the ship the product Optional varchar 50
ship_to_method Shipping method Optional varchar 50
merchant_ref_number Purchase order number Required varchar 50
Purchase_summary Summary details of the purchase details Required varchar 1000
currencydesc Purchase Currency in 3-digit ISO format. Required See LPS Standard Codes
amount Purchase Amount – 2 decimal places only Required Numeric
3dsecurecheck Flag to indicate whether 3d secure code check to be performed.
Valid values Y, N.Default: N
Optional varchar 1
scsscheck Flag to indicate if SCSS is required.Values: Y, N, DY: Yes;N: No; [default if not sent]D: Done, token posted with the request. Optional varchar 1
motocheck Flag to indicate if transactions should be processed as MOTO. Valid values Y, N.Default: N Optional varchar 1
cardtoken Unique card token previously generated using LPS SCSS system. Conditional (only if scsscheck is D). varchar 255
transactionkey Secure one-way hash value for transactional security Required See “TRANSACTIONAL SECURITY” section above
theme_identifier Unique identifier issued by LPS for the custom theme you’d configured for the MID Optional varchar 50
language Field indicating the language of the hosted payment page Optional See “Language Code” Section below
processurl URL on merchant website to which the result of the authorisation will be posted back *should be sent as url encoded Optional varchar 500
notifyurl URL on merchant server to which the transaction status should be notified as soon as transaction is completed. This is independent of customer redirection and happens server to server synchronously
*should be sent as url encoded.
Optional varchar 500
cancelurl URL on merchant website to which the customer must be returned when customer opts out of the payment
process (by clicking the cancel button)
*should be sent as url encoded
Optional varchar 500
logoidUnique identifier issued by LPS for the custom Logo you’d configured for the MID Optional varchar 50
displayname Website / client name to be displayed on payment form Optional varchar 50
surcharge Surcharge processing fee Optional 2 decimal places
defaultview Default payment option view to present to customer i.e., card or wallet.
Valid values: ”card”, “wallet”Default: ”card”
Optional varchar 6

APPENDIX B: POSTED FIELDS FROM LPS HOSTED PAYMENT SYSTEM TO ECOMMERCE SYSTEM

Field Description Data Type Len
Merchant_User_Id Merchant’s user id provided by LPS Varchar 50
Merchant_ref_number Purchase order number Varchar 50
Lpsid Login id of merchant site for authentication Varchar
Lpspwd Password for LPS on Merchant site. Varchar
Transactionid Unique Identifier for the transaction generated by LPS Integer
Requestid Unique Identifier for the transaction generated by HPS Integer
bill_firstname First name of the card holder. Varchar 50
bill_lastname Last name of the card holder Varchar 50
Purchase_summary Summary details of the purchase details Varchar 1000
currencydesc Currency Code in ISO 3-digit format. See LPS Standard Codes
amount Purchase Amount – 2 decimal places only 2 decimal places
CardBin First six digits of the customer card Integer
CardLast4 Last four digits of the customer card. Integer
CardType Card scheme of customer card Varchar
CardHolderName Card holder name as entered on payment page Varchar
CardIssuingCountry Card issuer country (2-digit ISO codes) See LPS Standard Codes
CardExpiry Card expiry as selected on payment page in the form of “MMYYYY” i.e., 012016 Varchar
merchant_ipaddress Posted Merchant server IP address Varchar
TransDateTime Date and time of transaction processed. Date Time
CVN_Result CVN result code Integer
AVS_Result AVS result code Integer
Status Transaction status. Refer to LPS Response codes.
CardToken Unique card token generated for the card processed. Varchar
Bank_Code Bank reason code Integer
Bank_Message Bank reason message . Varchar



APPENDIX C: POSTED FILEDS FROM LPS HOSTED PAYMENT SYSTEM TO REDIRECT URL

Field Description Data Type Len
Merchant_User_Id Merchant’s user id provided by LPS Varchar 50
Merchant_ref_number Purchase order number Varchar
Lpsid Login id of merchant site for authentication Varchar
Lpspwd Password for LPS on Merchant site. Varchar
Transactionid Unique Identifier for the transaction generated by LPS Integer
Requestid Unique Identifier for the transaction generated by HPS Integer
bill_firstname First name of the card holder. Varchar
bill_lastname Last name of the card holder Varchar
Purchase_summary Summary details of the purchase details Varchar
currencydesc=” XXX” XXX is the currency code you are transacting in i.e., USD, GBP, EUR See LPS Standard Codes
amount Purchase Amount – 2 decimal places only 2 decimal places
CardBin First six digits of the customer card Integer
CardLast4 Last four digits of the customer card. Integer
CardType Card scheme of customer card Varchar
CardHolderName Card holder name as entered on payment page Varchar
CardIssuingCountry Card issuer country (2-digit ISO codes) See LPS Standard Codes
CardExpiry Card expiry as selected on payment page in the form of “MMYYYY” i.e., 012016 Varchar
merchant_ipaddress Posted Merchant server IP address Varchar
TransDateTime Date and time of transaction processed. Date Time
CVN_Result CVN result code Integer
AVS_Result AVS result code Integer
Status Transaction status. Refer to LPS Response codes.
CardToken Unique card token generated for the card processed. Varchar
Bank_Code Bank reason code Integer
Bank_Message Bank reason message . Varchar



APPENDIX D: Language codes

Language Code Language
fr French
de German
es Spanish
da Danish
fi Finnish
it Italian
sv Swedish
no Norwegian



APPENDIX E: LPS RESPONSE CODES

Code Description Reason
00 Transaction Approved
05 Transaction Rejected Bank Declined
90 Communication Failure, Status Unknown Contact LPS
92 Customer payment cancellation Customer cancelled before payment
1001 Authentication failed for Merchant Wrong id, password or IP supplied
1002 Merchant account inactive Merchant account inactive
1003 Transaction amount exceeds the Per Transaction Limit. Purchase amount is above a specified level
1004 Customer has exceeded allowed transactions number for 24 hours Velocity control on purchases per day
1005 Code not in use
1006 Invalid credit card number Incorrect digit length for card type
1007 Invalid credit card expiry details
1008 Luhn’s modulus check failed Card number invalid
1009 Code not in use
1010 Failed Country lookup Bill country is not accepted by the bank
1011 Failed IP lookup Customer IP is blocked
1012 Failed BIN lookup Customer card BIN is blocked
1013 Bank rejection limit exceeded
1014 Customer blocked Customer details are blocked
1015 Minimum purchase check Purchase amount is below a specified level
1016 Failed IP check. *** Customer IP not in allowed list of IPs’.
1017 Cardtype check failed*** The card type is not allowed
1022 Account not enabled for HPS Merchant account not enabled for HPS.
5001 3D SECURE Authentication Failed Customer card enrolled for 3D SECURE,but 3D SECURE authentication failed
5002 Intermediate 3d Secure Response code Returned in schedule 2C Response if card is enrolled for 3d Secure
5003 Intermediate 3d Secure Response code** Internal to LPS, indicating customer has completed authentication in ACS URL and landed back to LPS server
5004 Intermediate 3d Secure Response code** Internal to LPS, indicating merchant has sent PARES to LPS Server
5005 3dsecure processing only Account supports 3d only, send 3dsecurecheck = Y
5006 Unable to verify PaRes as 3dsecure not available Unable to verify PaRes as 3dsecure not available
5007 Invalid 3dsecure parameters Invalid 3dsecure parameters
5010 Customer not enrolled or Issuer not participating in 3dsecure * Card not enrolled
9000 Unexpected error Incorrect data types, unknown error
9001 Missing required field A transaction id of –1 will also be returned
9002 Code not in use Code not in use
9003 Currency Block*** Currency NOT enabled

NB. Any response codes that are denoted by *** may not be activated for your account(s).

APPENDIX F: UNIQUE BANK CODE AND MESSAGE (BANK_CODE & BANK_MESSAGE)

LPS Unique Bank Code LPS Bank Message
N7 Decline for CVV2 failure
R1 Revocation of Authorization Order
00 Approved
01 Issuer Declined
02 Refer to Issuer
03 Invalid merchant or service provider
04 Retain Card
05 Do not honour
06 False Transaction
07 Pickup card, special condition (other than lost/stolen card)
08 Honour with Identification
12 Invalid transaction
13 Invalid amount(currency conversion field overflow) or amount exceeds maximum for card program
14 Invalid account number (no such number)
15 No such issuer
21 No action taken
22 Suspected Malfunction
30 Format Error
34 Suspected fraud, capture
40 Requested function not supported
41 Lost Card
43 Stolen Card
51 Insufficient funds
54 Expired card
55 Incorrect PIN
57 Transaction not permitted to cardholder
58 Transaction not allowed at terminal
59 Suspected Fraud
61 Activity amount limit exceeded
62 Restricted card (for example, in Country Exclusion table)
63 Security violation
65 Activity count limit exceeded
75 Allowable number of PIN-entry tries exceeded
76 Unable to locate previous message (no match on Retrieval Ref no)
83 Unable to verify PIN
91 Issuer unavailable
92 Financial institution or intermediate network unknown for routing
93 Transaction cannot be completed, violation of law
94 Duplicate Transmission
96 System malfunction, System malfunction or certain field error conditions
104 Billing country blocked
105 Issuing country of card bin blocked
106 Vendor is not registered for currency
201 Bank account configuration error
203 Host timeout
204 Declined by Acquirer
Secure Card Storage Services (SCSS)

The SCSS system can be used as a standalone system wherein merchants can add cards and generate mapped tokens independently to transactions. Alternatively, the SCSS is also linked with both authorisation & credit systems of LPS payment gateway wherein the merchants have the option to store the card number and generate token at the point of transaction processing.

SCSS As A Standalone System

INTRODUCTION
Lateral Payment Solutions provide an online credit card/debit card processing solution for e‐commerce businesses. We provide a highly sophisticated fraud screening process to reduce the risk posed to online merchants in the ‘card not present’ environment. We provide a 256‐bit SSL interface for secure transmission of data over the internet. A secure reporting and administration system to provide real time information is also made available to the merchant. This document explains the technical integration requirements and procedures. It is of a technical nature and should be read as such.

SECURE CARD STORAGE SERVICES (SCSS)
The SCSS system can be used as a standalone system wherein merchants can add cards and generate mapped tokens independently to transactions. Alternatively, the SCSS is also linked with both authorisation & credit systems of LPS payment gateway wherein the merchants have the option to store the card number and generate token at the point of transaction processing.

SCSS AS A STANDALONE SYSTEM:
In the case of a standalone system, the merchants can send customer billing details with card number to generate a token.The system will store the details and will generate a unique token corresponding to the customer details linked specifically to the merchant.

The generated token can then be used in a transaction authorisation or OCT request by passing the token details and specifically setting a flag to indicate to the LPS payment gateway that a card token is used.

If a generated token details needs to be modified or to be validated again, the manage SCSS system can be used.

Once a token is generated the system flow will be as follows:
a. Merchant sends normal authorisation request with SCSS flag set to D (implying already done).
b. If SCSS flag is set to D, then instead of card number, the SCSS token should be posted.

SCSS AS A MODULE TO AUTH/CREDIT SYSTEM:
LPS Authorisation API system is also linked with “Secure Card Storage Services (SCSS)” system which will help merchants to comply with PCI DSS audit requirements by removing the necessity to store card details in their system.


LPS standard integration post fields provides an option to flag a transaction to be part of SCSS and it automatically stores the card details and a corresponding token is returned on the response. In addition to storing the card details, SCSS system also keeps references of billing details. Hence card details and billing details need not be posted when sending a transactions request for authorisation using a previously generated card store token. SCSS system will automatically extract the card details and its corresponding billing details and will use it for authorisation request.

MANAGE SCSS SYSTEM:
In the event the billing details or card details needs to be updated, then merchants can make use of manage SCSS subsystem API to update or delete the card details.

The way the system works is as follows:

  • Merchants send normal authorisation request with SCSS flag set to Y.
  • A unique identifier is generated and returned along with the authorisation response.
  • The unique identifier acts as the reference for all subsequent transactions
  • The identifier also references complete billing details of the card holder. Hence apart from the card The identifier also references complete billing details of the card holder. Hence apart from the card

Once a token is generated the system flow will be as follows:

  • Merchant sends normal authorisation request with SCSS flag set to D (implying already done).
  • If SCSS flag is set to D, then instead of card number, the SCSS token should be posted.

Points to note when posting token with SCSS flag set to D:

  • When posting with SCSS flag set to D, the token must always be posted or else the transactions will be rejected with a prescreening code.
  • If card number is also sent along with SCSS flag set to D and token also present, card number will be ignored.
  • If billing details as well as other card details are posted along with token, the details posted in the request will take precedence over the details stored in SCSS for that token. Hence the posted values will be utilised for authorisation processing. However, note that the details stored in SCSS will not have been updated. If it should be updated, then a separate update request on manage SCSS system API should be sent.

The unique identifier is of no value to anyone who attempts to steal sensitive information because the secure credit card information can never be obtained by using the identifier. Technically, the identifier is a hash pointer reference to a token value which is then referenced to the card holder data in our data store. Hence our SCSS system provides robust security in protecting card holder information.

SCSS system comprises of four main building blocks:

a. Card Token Generation:
This phase consists of the generation of unique identifier for the card holder data. The unique identifier is linked to the merchant account issued by LPS. In case of standalone SCSS system, if the card number already exists on the system then the system will reject, and new token generation will fail. However, in case of SCSS linked to authorisation, if an existing card number is used, then the same identifier will be returned if the card details has been previously posted by the client and an identifier generated previously.

b. Card Token Details Update:
This phase consists of an independent API which will enable merchants to be in control of their secure card data. In the event the card details need updating, for example if the expire dates have changed due to card renewal or the customer’s address details have changed. The merchants can send the token as well the new details which will be automatically updated into the SCSS system. All the usual process of validating the credentials will be necessary before the details can be updated.

c. Card Token Details Query:
This phase is similar to “Token Update” phase, except that it will just return the details stored for that token rather than altering any information. This will be useful if the merchants wish to recheck the details stored in our SCSS system before posting transactions.

d. Card Token Delete:
If customer details are to be removed due to various reasons such as customer has closed their account or audit retention policy or customer deemed fraudulent etc, merchants can send the “Token Delete” request and the card details will be completely removed and cannot be used further.

APPENDIX A: NEW CARD TOKEN GENERATION

A1. POSTING PARAMETERS

Form Field Description Details
Merchant_id LPS Provided value. Mandatory
merchantpwd Password used for authenticating the refund account. Mandatory
AccountType Type of account. Valid values are:
a.A:Auth account(default);
b.R:Recredit account;
Mandatory
RequestType SCSS manage card token request type. It should be one of the following:
SCSS_A : Adding card details;
Mandatory
Customer_ccno Customer card number. Mandatory
Bill_firstname Billing customer first name. Mandatory
Bill_lastname Last name of the card holder. Mandatory
Bill_address1 First line of street address for billing the CC. Mandatory
Bill_address2 Second line of street address for billing the CC. Optional ***
Bill_city City for the billing the credit card. Mandatory
Bill_state State for the billing the credit card. Optional *** NOTE: If Bill_country is US or CA,Bill_state must be sent as well.
Bill_country Country for the billing the credit card, (2‐digit ISO country Code). Mandatory
Bill_zip Postal code for the billing the credit card. Mandatory
Customer_cc_type Credit Card type of the customer either VISA, MAST, SWITCH, SOLO, DELTA, AMEX, MAESTRO (Case Sensitive, upper case only) Mandatory
Customer_cc_expmo Expiration month(mm) of the credit card. Mandatory
Customer_cc_expyr Expiration year(yyyy) of the credit card. Mandatory
Customer_dc_startmo Debit card start month or valid from month (mm). Optional *****
NOTE: If this value is sent then Customer_cc_startyr must be sent as well.
Customer_dc_startyr Debit card start year or valid from year (yyyy). Optional *****
NOTE: If this value is sent then Customer_cc_startmo must be sent as well.
Customer_dc_issue Debit card issue number. Optional ***

A2. RESPONSE PARAMETERS

Form Field Description
ResponseType Response type code. See C1 below
RequestType Unique code for the request process
Requestid Unique Identifier for the request generated by LPS
CrdStrg_Token SCSS system unique card identifier sent in request
Bill_firstname First name of the card holder stored for the unique identifier sent.
Bill_lastname Last name of the card holder stored for the unique identifier sent.
Bill_address1 Billing customer first line of address stored for the unique identifier sent
Bill_address2 Billing customer second line of address stored for the unique identifier sent
Bill_city Billing customer city stored for the unique identifier sent.
Bill_state Billing customer state stored for the unique identifier sent.
Bill_country Billing customer country code stored for the unique identifier sent.
Bill_zip Billing customer postal code / zip code stored for the unique identifier sent.
CardBin Bin number of the card stored for the unique identifier sent.
CardLast4 Last 4 digit of the card number stored for the unique identifier sent.
Customer_cc_type Credit Card type stored for the unique identifier sent.
Customer_cc_expmo Expiration month(mm) of the credit card stored for the unique identifier sent.
Customer_cc_expyr Expiration year(yyyy) of the credit card stored for the unique identifier sent.
Customer_dc_startmo Debit card start month or valid from month (mm) stored for the unique identifier sent.
Customer_dc_startyr Debit card start year or valid from year (yyyy) stored for the unique identifier sent
Customer_dc_issue Debit card issue number stored for the unique identifier sent.
Status Status code to indicate the request status. See C2 below

Note:
The fields in blue will always be returned.
The fields in green will be returned if request is successful, i.e., Status=0

APPENDIX B: MANAGING CARD TOKENS FROM LPS SCSS SYSTEM
When merchants process recredits using SCSS system and generate card tokens corresponding to the customer card details, they can use the token as the reference for all subsequent transactions for that customer. The SCSS system provides two layers of encapsulation and hence it will not be possible to derive card details from token in anyway. To provide options for merchants to manage the details of card tokens, LPS SCSS system provides API which will enable merchants to automatically manage their card tokens. For example, if the expiry dates need to be changed due to card renewal it will not be necessary to post the whole details, but just the new changed details to the manage SCSS API functionality which will selectively update required information.

Currently LPS SCSS manage API provides three functionalities:

  • Querying of card details linked to a token;
  • Updating of card details linked to a token;
  • Deletion of a token;

B1. POSTING PARAMETERS

Form Field Description Details
Merchant_id LPS Provided value Mandatory
merchantpwd Password used for authenticating the refund account. Mandatory
AccountType Type of account. Valid values are:
a. A: Auth account (default);
b. R: Recredit account;
Mandatory
RequestType SCSS manage card token request type. It should be one of the following:
SCSS_Q: Querying card token details;
SCSS_U: Update card token details;
SCSS_D: Delete card token details;
Mandatory
CrdStrg_Token Unique card details identifier from LPS SCSS system Mandatory
Bill_firstname Billing customer first name Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Bill_lastname Last name of the card holder Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Bill_address1 First line of street address for billing the CC Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Bill_address2 Second line of street address for billing the CC Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Bill_city City for the billing the credit card Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Bill_state State for the billing the credit card Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Customer_cc_type Credit Card type of the customer either VISA, MAST, SWITCH, SOLO, DELTA, AMEX, MAESTRO (Case Sensitive, upper case only) Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
Customer_cc_expmo Expiration month(mm) of the credit card Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
NOTE: If this value is sent then Customer_cc_expyr must be sent as well
Customer_cc_expyr Expiration year(yyyy) of the credit card Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
NOTE: If this value is sent then Customer_cc_expmo must be sent as well.
Customer_dc_startmo Debit card start month or valid from month(mm) Optional *** To be sent only for RequestType SCSS_U and if value need to be updated.
NOTE: If this value is sent then Customer_cc_startyr must be sent as well.
Customer_dc_issue Debit card issue number Optional *** To be sent only for RequestType SCSS_U and if value need to be updated

B2. RESPONSE PARAMETERS

Form Field Description
ResponseType Response type code. See C1 below.
RequestType Unique code for the request process
Requestid Unique Identifier for the request generated by LPS
CrdStrg_Token SCSS system unique card identifier sent in request
Bill_firstname First name of the card holder stored for the unique identifier sent.
Bill_lastname Last name of the card holder stored for the unique identifier sent
Bill_address1 Billing customer first line of address stored for the unique identifier sent.
Bill_address2 Billing customer second line of address stored for the unique identifier sent.
Bill_city Billing customer city stored for the unique identifier sent.
Bill_state Billing customer state stored for the unique identifier sent.
Bill_country Billing customer country code stored for the unique identifier sent.
Bill_zip Billing customer postal code / zip code stored for the unique identifier sent.
CardBin Bin number of the card stored for the unique identifier sent.
CardLast4 Last 4 digit of the card number stored for the unique identifier sent
Customer_cc_type Credit Card type stored for the unique identifier sent.
Customer_cc_expmo Expiration month(mm) of the credit card stored for the unique identifier sent.
Customer_cc_expyr Expiration year(yyyy) of the credit card stored for the unique identifier sent.
Customer_dc_startmo Debit card start month or valid from month (mm) stored for the unique identifier sent.
Customer_dc_startyr Debit card start year or valid from year (yyyy) stored for the unique identifier sent
Customer_dc_issue Debit card issue number stored for the unique identifier sent.
Status Status code to indicate the request status. See C2 below.

Note: The fields in blue will always be returned. The fields in green will be returned if request is successful, i.e., Status=0

APPENDIX C: RESPONSE CODES

C1. RESPONSETYPE CODE

Description Code
SCSS manage card token API response 7

C2. STATUS CODE

Description Code
0 Request completed successfully
1001 User authentication failed, or account not enabled for SCSS manage card token processing
1002 Merchant account inactive.
9000 Unexpected system error
9001 Mandatory field missing
9009 Merchant account not enabled for SCSS
9010 SCSS unique identifier incorrect or not found.
9011 Token creation failed as card number already exists in SCSS.

Examples return response

1. sample response for querying existing the card token details.
ResponseType=7&RequestType=SCSS_Q&Requestid=1003&Bill_firstname=Ian&Bill_lastname=Vidamour&Bill_address1=34,Millersstreet&Bill_address2=Northlaneroad&Bill_city=London&Bill_state=Manchester&Bill_country=GB&Bill_zip=SE1&CardBin=420000&CardLast4=0000&Customer_cc_type=VISA&Customer_cc_expmo=11&Customer_cc_expyr=2011&Customer_dc_startmo=&Customer_dc_startyr=&Customer_dc_issue=&CrdStrg_Token=0x1375bb33612cd9cb18c52f33e748f4db&Status=0

APPENDIX D: SECURE CARD DATA SFTP TRANSFER
As an alternative option to generate card tokens, merchants can also use our secure card data SFTP transfer facility, wherein they will be able to bulk import customer card details. The generated tokens corresponding to the imported data will be appended to the file and returned through the same channel. On the outbound file, the original full details will be stripped out for security.

This feature provides a convenient way to securely generate tokens for existing payment instructions already present in another secure system and where API call additional development is an overhead.

The preferred format of file import will be csv and the column header and values are as follows.

Form Field Description Details
Customer_ccno Customer card number. Mandatory
Bill_firstname Billing customer first name Mandatory
Bill_lastname Last name of the card holder Mandatory
Bill_address1 First line of street address for billing the CC Mandatory
Bill_address2 Second line of street address for billing the CC Optional
Bill_city City for the billing the credit card Mandatory
Bill_state State for the billing the credit card Optional *** NOTE: If Bill_country is US or CA,Bill_state must be sent as well
Bill_country Country for the billing the credit card, (2 digit ISO country Code) Mandatory
Bill_zip Postal code for the billing the credit card Mandatory
Customer_cc_type Credit Card type VISA, MAST, DELTA, MAESTRO (Case Sensitive, upper case only) Mandatory
Customer_cc_expmo Expiration month(mm) of the credit card Mandatory
Customer_cc_expyr Expiration year(yyyy) of the credit card Mandatory
UniqueIdentifier Unique identifier for the row Mandatory Note: Must be unique per file
Custom1 Additional custom parameter Optional
Custom2 Additional custom parameter Optional
SCSS As A Module To Auth/Credit System

INTRODUCTION
The purpose of this technical specification is to give an in‐depth description of the Lateral Payment Solutions (LPS) Enterprise Payment Gateway – Card Processing API. LPS Card Gateway is a proprietary platform for processing payments online. It exposes multiple API’s for performing various types of online financial transactions. This specific document explains the Card Processing API which enables payments online using debit and credits cards.

The platform data exchange is a secure and yet simple name/value pair data format based on HTML POST form‐URL encoded data. The API operates on a securely authenticated request / response method where an authorised client instructs the gateway to perform an operation and the gateway replies back with the status of the operation.

TRANSACTION FLOW DIAGRAM
A simple transaction process flow is depicted in fig‐1 below.

  1. CUSTOMER TO MERCHANTS WEBSITE

    Customer confirms payment request in a client app or browser securely submitted back to merchant web server;

  2. MERCHANTS SERVER TO LPS SERVER

    Opens web request containing all the necessary card data and card holder details submitted over secure encrypted SSL;

  3. LPS SERVER TO MERCHANTS SERVER

    LPS gateway performs data, velocity and fraud checks. If any fail, the transaction process is stopped and a failure code is returned;

  4. LPS SERVER TO BANK

    The transaction after risk/fraud screening is sent from the LPS gateway to the bank and receives the response back from bank;

  5. LPS TO MERCHANTS SERVER

    LPS sends the bank response details to merchant server;

  6. MERCHANT SERVER TO END USER

    Merchant updates database and notifies customer of success or failure of the transaction;

  7. LPS SERVER TO END USER

    LPS can send an e‐mail receipt to customers where the transaction is successful. Merchant can receive a copy of the e‐mail for customer support or account management purposes;

Card Gateway – API
The LPS Enterprise Payment Gateway – Card Processing API provides a real‐time, synchronous interface to execute debit / credit card transactions. Transaction requests are sent online, in real‐time,using HTTPS (Hypertext Transfer Protocol Secure).

Addresses
Integration Endpoint URL:

  • Note: This will be issued along with account credentials after approval.

Production Endpoint URL:

  • Note: This will be issued along with account credentials after approval.

HTTP Specification

  • Protocol: https
  • Method: POST
  • Content‐Type: [application/www‐form‐urlencoded] or [application/x‐www‐formurlencoded]

Security/Authentication
All HTTP requests must be sent over SSL, a secure channel should be used. The LPS Payment Gateway does not authenticate the SSL session using a certificate from the client, thus a non‐authenticated SSL session is used. Instead the client is first authenticated using source IP plus a secondary authentication check using the account credentials verification which is sent in the request payload is used to verify before processing.

Integration Steps

Overview
The merchant’s server makes a request through a HTTP POST over a secure SSL connection and receives the result of the processing request as the response to the POST request. The request payload carries the necessary details for processing the payment request and the response contains parameters whose values represent the result of the payment request.

MERCHANT SERVER TO LPS SERVER
To process a payment, request all mandatory fields found in Schedule 2A need to be posted via SSL to LPS payment gateway URL which will be provided by LPS. All communication between LPS and the merchant is via SSL only. The merchant server makes a request through an HTTP POST to the LPS server, LPS receives the payment request, performs fraud screening and returns to the merchant a result of either fraudscreening (failed) or the bank response (if passed fraud screening).

Points to note about the POST to LPS

  • LPS provide the merchant_user_id and merchantpwd
  • Replace spaces in the user details with +. You do not however have to do a full URL‐encode of the request string.
  • Post amounts as 2 decimal places only. Applies to amount field. i.e. 125.03
  • A payment request will not be accepted for processing if the mandatory fields in Schedule 2A are missing.
  • If a payment request does not contain all the mandatory fields then the system will return the fraudscreening_status value of 9001 and an LPS_Transaction_id of –1.

LPS SERVER BACK TO MERCHANT SERVER
Using the synchronous method your server opens an SSL protected connection to the LPS server and awaits a HTTP response from the server. If the data is sent successfully (HTTP Status 200) you need to retrieve the Response to the payment request. This will be returned as a query string with the variables described in Schedule 2B. Two response types may be returned; either fraud screening failed or bank transaction status.

Points to note about the LPS return POST

  • LPS generates a unique transaction id for each transaction. This is returned to the merchant’s server along with the merchant reference number.
  • Merchants must use the LPS_transaction_id for any transaction enquiries with LPS
  • LPS response includes an id and password in the string for merchant server authentication purposes; this is the user name & password you supply to LPS and is different from the LPS supplied pair in the original post to Schedule 2A.
  • If mandatory fields are missing then the system will not accept the transaction for processing. The details will be logged and the system will return a Fraudscreening_status of 9001 & an LPS_transaction_id of –1.

LPS TO END USER
LPS send an e‐mail receipt to the customer for each authorised payment request. The receipt contains all transaction details and an email address for customer enquiries. The email is sent from the merchants chosen address and not from LPS e.g. support@merchant.com. The merchant can receive a copy of the receipt sent to the customer.

Account Setup Process
Once the necessary due diligence has been completed on your application by the LPS compliance team, a test MID will be approved. To setup the test MID, merchants will be asked to provide a set of details which are required by the LPS technical team. This will be communicated at the time of MID setup

Testing & QA
As part of integration verification, merchants will be required to perform a set of test transactions as listed out by the LPS integrations verification team and submit the results. This will be validated and if any tests are not found to be satisfactory, the merchants will be requested to perform the test cases again until all outstanding issues are cleared. Once the integration is signed off, a live production MID approval will need to be obtained.

Going Live
On approval from bank, the live MID will be loaded into LPS payment gateway by LPS tech team and connectivity tests performed to ensure the transactions are processed correctly. A new production account will be issued to merchant which they can seamlessly swap their test account credentials for and initiate live tests. The merchants will need to submit live tests using real card details before they can switch their production traffic to LPS payment gateway.

Technical Support
At any stage during the integration process or beyond, merchants will be able to contact the LPS tech team using a dedicated support email. This email is automatically linked to a ticket queuing system which will generate a support ticket on merchant’s behalf and assigned to LPS Level 1 support team.

APPENDIX A: AUTHORISATION POST FIELDS & RESPONSES Schedule 2A – LPS POST Specification for Payment Request using CARD

Field Description Required/ Optional Data Type Len
merchant_User_Id Merchant’s user id provided by LPS Required String 50
merchantpwd Merchant’s PWD provided by LPS Required String 50
merchant_ipaddress Static IP address of the Merchant server Required, as provided by merchant
customer_firstname First name of the customer Required String 50
customer_lastname Last name of the customer Required String 50
customer_phone Telephone number of the customer Required String 50
customer_email Email address of the customer Required String 50
customer_ipaddress IP address of the customer Required String 50
bill_firstname First name of the card holder Required String 50
bill_lastname Last name of the card holder Required String 50
bill_address1 Cardholder first line address as registered in card Required String 100
bill_address2 Cardholder second line address as registered in card Required String 100
bill_city Cardholder city as registered in card Required String 50
bill_country Cardholder country as registered in card,specified in 2‐digit ISO country code Required See ISO Codes
bill_state Cardholder city as registered in card Optional See ISO Codes
bill_zip Cardholder zip / postcode as registered in card Required String 50
dateregistered Customer registered date with merchant Optional String 50
customer_cc_expmo Card expiration month (mm) Required numeric 2
customer_cc_expyr Card expiration year (yyyy) Required numeric 50
customer_cc_number Card number / PAN Required numeric 19
customer_cc_type Card type /card schemes.Allowed values:VISA,MAST,SWITCH,SOLO,DELTA,AMEX,MAESTRO (Case Sensitive, upper case only) Required numeric 10
customer_cc_cvc Card verification code (CVC/CVV) Required numeric 3
customer_bank_name Name of issuing bank of customer card Optional
ship_to_address1 First line of the street address to ship the order Optional String 50
ship_to_address2 Second line of the street address to ship the order Optional String 50
ship_to_city City to which the ship the order Optional String 50
ship_to_country Country to which the ship the order,specified in 2‐digit ISO country code Optional String 2
ship_to_phone Telephone number of shipping destination Optional String 50
ship_to_state State or province to which the ship the product Optional String 50
ship_to_zip Zip / Postal code to which to the ship the product Optional String 50
ship_to_method Shipping method Optional String 50
merchant_ref_number Merchant generated reference number,ideally to be unique Required String 50
currencydesc Transaction processing currency,specified as 3‐digit ISO Currency code Required See ISO Codes
amount Purchase Amount – 2 decimal places only Required 2 decimal places
fees Merchant processing fee Optional 2 decimal places
currencydesc Transaction processing currency,specified as 3‐digit ISO Currency code Required See ISO Codes
scsscheck Flag to indicate if SCSS is required.
Values: Y, N
Y: Yes;
N: No; [default if not sent]
Conditional (Only if SCSS options are required). String 1
RecurringCheck Flag to indicate if transaction to be
processed as recurring.
Values: Y, N
Y: Yes;
N: No; [default if not sent]
Conditional
(Only if recurring).
String 1
motocheck Flag to indicate if transaction to be
processed as MOTO.
Values: Y, N
Y: Yes;
N: No; [default if not sent]
Conditional
(Only if MOTO).
String 1

SAMPLE REQUEST STRING
Merchant_User_Id=test_merchant_account&merchantpwd=te****s!&merchant_ipaddress=1.1.1.1&customer_firstname=Thirlok&customer_lastname=shankar&customer_phone=1236798848&customer_email=testuser%40lateralpaymentsolutions.com&customer_ipaddress=2.2.2.2&bill_firstname=Thirlok&bill_lastname=Shankar&Bill_address1=34%2c+Millers+street&bill_address2=North+lane+road&bill_city=London&bill_country=GB&bill_state=Manchester&bill_zip=SE1&customer_cc_expmo=11&customer_cc_expyr=2018&customer_cc_number=420000######0000&customer_cc_type=VISA&customer_cc_cvc=000&merchant_ref_number=lpstest123&currencydesc=GBP&amount=0.10

Schedule 2A (T)– LPS POST Specification for Payment Request using CARD TOKEN

Field Description Required/ Optional **Data Type Len**
merchant_User_Id Merchant’s user id provided by LPS Required String 50
merchantpwd Merchant’s PWD provided by LPS Required String 50
merchant_ipaddress Static IP address of the Merchant server Required, as provided by merchant
customer_firstname First name of the customer Required String 50
customer_lastname Last name of the customer Required String 50
customer_phone Telephone number of the customer Required String 50
customer_email Email address of the customer Required String 50
customer_ipaddress IP address of the customer Required String 50
bill_firstname First name of the card holder Required String 50
bill_lastname Last name of the card holder Required String 50
bill_address1 Cardholder first line address as registered in card Required String 50
bill_address2 Cardholder second line address as registered in card Optional String 100
bill_city Cardholder city as registered in card Required String 50
bill_country Cardholder country as registered in card,specified in 2‐digit ISO country code Required See ISO Codes
bill_state Cardholder state as registered in card,if applicable Optional See ISO Codes
bill_zip Cardholder zip / postcode as registered in card Required String 50
dateregistered Customer registered date with merchant Optional String 50
CrdStrg_Token Unique card details identifier from LPS SCSS system Required String 100
customer_cc_cvc Card security code / CVN / CVV2 Required numeric 3
ship_to_address1 First line of the street address to ship the order Optional String 50
ship_to_address2 Second line of the street address to ship the order Optional String 50
ship_to_city City to which the ship the order Optional String 50
ship_to_country Country to which the ship the order,specified in 2‐digit ISO country code Optional String 2
ship_to_phone Telephone number of shipping destination Optional String 50
ship_to_state State or province to which the ship the product Optional String 50
ship_to_zip Zip / Postal code to which to the ship the product Optional String 50
ship_to_method Shipping method Optional String 50
merchant_ref_number Merchant generated reference number,ideally to be unique Required String 50
currencydesc Transaction processing currency,specified as 3‐digit ISO Currency code (for e.g. USD,GBP etc) Required See LPS Standard Codes
amount Purchase Amount – 2 decimal places only Required 2 decimal places
fees Merchant processing fee optional 2 decimal places
scsscheck Flag to indicate if SCSS is required.
Values: Y, N
Y: Yes;
N: No; [default if not sent]
Conditional (Only if SCSS options are required). String 1
RecurringCheck Flag to indicate if transaction to be processed as recurring. Conditional (Only if recurring) String 1
Values:Y,N
Y: Yes;
N: No; [default if not sent]
motocheck Flag to indicate if transaction to be
processed as MOTO.
Values: Y, N
Y: Yes;
N: No; [default if not sent]
Conditional
(Only if MOTO)
String 1

SAMPLE REQUEST STRING
Merchant_User_Id=lps_Account&merchantpwd=***&merchant_ipaddress=1.1.1.1&customer_ firstname=Thirlok&customer_lastname=Shankar&customer_phone=1236798848&customer_email= testuser%40lateralpaymentsolutions.com&customer_ipaddress=2.2.2.2&bill_firstname=Thirlok&bill _lastname=Shankar&Bill_address1=Southbank+house&bill_address2=Balck+Prince+road&bill_city=L ondon&bill_country=GB&bill_state=Greater+London&bill_zip=SE1&customer_cc_expmo=11&custo mer_cc_expyr=&customer_cc_cvc=000&merchant_ref_number=lpstest123&currencydesc=GBP &amount=0.10&scsscheck=D&CrdStrg_Token=0xda749cc60382e4af0cfb7e4dbb2ab33139840443

Schedule 2B – LPS POST Specification for Payment Response

Field Description Datatype Length
ResponseType Transaction response type Numeric 2
LPS_transaction_id Unique Identifier for the transaction generated by LPS Numeric 10
Merchant_ref_number Merchant reference number generated for the order String 50
Lpsid Response authentication id, as provided by merchant String 50
Lpspwd Response authentication password, as provided by merchant String 50
Fraudscreening_status Fraud screening response code from LPS Numeric 4
Bank_status Status of the transaction at the bank Numeric 4
Amount Transaction amount 2 decimal places
Currency Transaction currency as per ISO code String 4
Bank_transaction_no Unique Bank ID String 50
Bank_authorisation_no Bank authorization number, save for your records String 50
Bank_date Transaction date String 50
Bank_time Transaction time String 50
Bank_original_code Original Bank code (currently unused, always empty) String 255

Note

  • The entire Schedule 2B is always returned regardless of the transaction status.
  • The variables highlighted above in blue are always returned with values regardless of the ResponseType.
  • With a ResponseType=0 (indicating it’s a fraudscreening response) then the variables in green will be blank. With a ResponseType=1 (indicating it’s a bank response) then all variables will be returned with appropriate values.

SAMPLE RESPONSE STRINGS

Result of fraudscreening failed response (ResponseType=0)

ResponseType=0&LPS_merchant_account=67392733&Merchant_ref_number=*******&Lpsid=test &Lpspwd=test&Fraudscreening_status=1003&Bank_status=&Amount=2&Currency=USD&Bank_tran saction_no=&Bank_authorisation_no=&Bank_date=12/05/2017&Bank_time=14:06&Bank_original_c ode=

Result of bank transaction response (ResponseType=1)

Accepted Sample
ResponseType=1&LPS_transaction_id=67392741&Merchant_ref_number=lpstest123&Lpsid=test&L pspwd=test&Fraudscreening_status=0&Bank_status=00&Amount=2&Currency=GBP&Bank_transacti on_no=67392741&Bank_authorisation_no=test&Bank_date=12/05/2017&Bank_time=14:06&Bank_ original_code=

Rejected Sample
ResponseType=1&LPS_transaction_id=40473433&Merchant_ref_number=lpstest123&Lpsid=test&L pspwd=test&Fraudscreening_status=0&Bank_status=05&Amount=0.1&Currency=GBP&Bank_transa ction_no=678691488&Bank_authorisation_no=&Bank_date=11/06/2012&Bank_time=12:08&Bank_ original_code=&AVS_Result=0&ZIP_Result=1&CVN_Result=0&CardBin=420000&CardLast4=2345

APPENDIX B: ADDITIONAL POST RESPONSE FIELDS
Depending on the merchant’s account setup status, LPS enterprise payment gateway can respond with extra fields in addition to the fields specified in the “schedule 2B”, which is the response to confirm the results of the transaction. These fields will NOT be enabled by default and cannot be guaranteed to be returned even if enabled. Depending on the outcome of the transaction and on the Acquiring bank on which the merchant is setup, these fields can be returned. LPS will continue to add these additional response fields as required in future releases/upgrades of the gateway. If a merchant would like to receive these additional fields they should contact LPS.

Field Description Data type Length
AVS_Result Customer Address verification result for the address line1, refer codes for possible values Numeric 4
ZIP_Result Customer Zip code verification result for the bill_zip value posted,refer codes for possible values Numeric 4
CVN_Result Result of CVC entered by customer, refet codes for possible values Numeric 4
CardBin First 6 digit of customer card Numeric 6
CardLast4 Last 4 digit of customer card Numeric 4
CardType Card Type of customer card, refer codes below String 10
CardIssuingCountry Country code of the Card Issuing country, in 2‐digit ISO format String 2
CardIssuer Card Issuer name String 100
BankIdentifier Bank through which transaction was processed String 10
bank_code Common LPS unique bank code indicating reason for transaction decline String 10
bank_message Bank code description String 100

APPENDIX C: LPS RESPONSE CODES

"ResponseType" response Codes

Description Code
Fraud screening response 0
Bank transaction response 1

“Fraudscreening_status” response codes

Code Description Reason
0 Fraudscreening passed
1001 Authentication failed for Merchant Wrong id, password or IP supplied
1002 Merchant account inactive Merchant account inactive
1003 Transaction amount exceeds the per Transaction Limit. Transaction is greater than the allowed value for the day
1004 Customer has exceeded allowed transactions number for 24 hours TVelocity control on purchases per day reached
1005 Purchase amount check *** Repeated amounts being purchased
1006 Invalid credit card number. Incorrect digit length for card type
1007 Invalid credit card expiry details. Card expiry invalid
1008 Luhn’s modulus check failed. CC number is invalid for card type
1009 PO Box error *** Bill address contains a PO Box address
1010 Failed Country lookup Bill country is on a negative country list
1011 Failed IP lookup Customer IP is on a negative IP list
1012 Failed BIN lookup Card BIN is on a negative list
1013 Customer card no.exceeded bank rejection limit Card rejection limit reached
1014 Customer blocked Customer is temporarily blocked pending investigation
1015 Minimum purchase check Purchase amount is below a specified level
1016 Failed IP check. *** Customer IP not in allowed list of IPs’.
1020 MOTO block MOTO not enabled.
1021 Recurring block Recurring not enabled.
9000 Unexpected error System / Unknown Error.
9001 Missing required field. Customer IP not in allowed list of IPs’.
9002 Mastercard transactions blocked *** MOTO not enabled.
9003 Currency Block*** Currency NOT enabled.
9004 Bank gateway not enabled. Bank gateway not enabled.

*** These codes may not be active for your account(s)

“Bank_status” response codes

Description Code
Accepted 00
Rejected 05
Communication failure 90

CVN/AVS/ZIP (“CVN_Result”, “AVS_Result” & “ZIP_Result”) response codes

Description Code
Data matched 0
Data not matched 1
Not verified by bank 2

NB. The CVN/AVS/ZIP result fields above can also be returned blank or empty which should be treated as “Not verified by bank”

BankIdentifier codes (“BankIdentifier”)
This will be confirmed at the time of going live after MID approval with the respective acquiring bank.

Unique Bank code and Message (“bank_code” & “bank_message”)

LPS Unique Bank Code Description
N7 Decline for CVV2 failure
R1 Revocation of Authorization Order
00 Approved
01 Issuer Declined
02 Refer to Issuer
03 Invalid merchant or service provider
04 Retain Card
05 Do not honor
06 False Transaction
07 Pickup card, special condition (other than lost/stolen card)
08 Honour with Identification
12 Invalid transaction
13 Invalid amount (currency conversion field overflow) or amount exceeds maximum for card program
14 Invalid account number (no such number)
15 No such issuer
21 No action taken
22 Suspected Malfunction
30 Format Error
34 Suspected fraud, capture
40 Requested function not supported
41 Lost Card
43 Stolen Card
51 Insufficient funds
54 Expired card
55 Incorrect PIN
57 Transaction not permitted to cardholder
58 Transaction not allowed at terminal
59 Suspected Fraud
61 Activity amount limit exceeded
62 Restricted card (for example, in Country Exclusion table)
63 Security violation
65 Activity count limit exceeded
75 Allowable number of PIN‐entry tries exceeded
76 Unable to locate previous message (no match on Retrieval Reference number)
83 Unable to verify PIN
91 Issuer unavailable
92 Financial institution or intermediate network unknown for routing
93 Transaction cannot be completed, violation of law
94 Duplicate Transmission
96 System malfunction, System malfunction or certain field error conditions
104 Billing country blocked
105 Issuing country of card bin blocked
106 Vendor is not registered for currency
201 Bank account configuration error
105 Host timeout
106 Insufficient terminals
301 Declined by Acquirer

APPENDIX D: TRANSACTION STATUS CHECK API
LPS Payment Gateway – card processing provides an API call to check the status of transactions sent for authorisation. This API call can be used in the event of communication failures. The API provides the option to query the status soon after the transaction is submitted. Due to security reasons, there is a threshold of ten minutes within which the same transaction should not be queried, or else a prescreening code will be returned.

Schedule 2G – LPS POST Specification for Status Check Request

Field Description Required Data type Length
merchant_user_id Merchant user id provided by LPS Required String 50
merchantpwd Merchant password provided by LPS Required String 50
merchant_ipaddress Static IP address of the Merchant server Required
merchant_ref_number Original merchant reference of transaction being checked Required String 50
currencydesc Currency of transaction being checked, in 2‐digit ISO code format Required String 3
amount Purchase Amount of transaction being checked – 2 decimal places only Required numeric
lps_transaction_id Original transaction unique identifier generated by LPS Optional Numeric 10
realtime Flag to indicate if transaction processed within last 60 mins.
Values: Y, N
Y: Yes; (recent transactions within last 60 mins)
N: No; [past transactions processed 1 hour before, if not provided this will be the default]
Optional String 1

Schedule 2H – LPS POST Specification for Status Check Response

Field Description Data type Length
responsetype Transaction response type, see codes below Numeric 4
authstatuscheck_id Unique Identifier for the Status check request generated by LPS
merchant_ref_number Merchant reference number sent along with status check request String 50
amount Transaction amount of transaction being checked numeric
currency Transaction currency of transaction being checked,in 2‐digit ISO code format String 4
authstatuscheck_status Pre‐screening response code, see codes below Numeric 4
lps_transaction_id Unique LPS transaction id of the transaction being checked Numeric 4
transaction_status Transaction status code – see codes below Numeric 4
bank_transaction_no Unique Bank ID String 50
bank_authorisation_no Bank authorization number, save for your records String 50
transactiondate Date and time of transaction processed String 255
crdstrg_token*** Unique card token generated for the card posted String 100

*** Only returned if transaction being checked is a token transaction

Status Check “responsetype” response codes

Description Code
Pre‐screening response 0
Status check response 1

Status Check “authstatuscheck_status” response codes

Code Description Reason
0 Prescreening passed
1001 Authentication failed for Merchant Wrong id, password or IP supplied
1002 Merchant account inactive Merchant account inactive
6003 Merchant account inactive Specified fields merchant ref number / currency /amount not matched or transactions not found.
6009 Repeated request within 10 mins Repeated status check query request (within 10minutes)
9000 Unexpected error. Incorrect data types, unknown error
9001 Missing required field. A LPS_AuthStatusCheck_Id of –1 will also be returned

Status Check “transaction_status” response codes

Code Description Reason
00 Bank Accepted
05 Bank Rejected
90 Communication Failure (Pending) Communication failure between LPS & bank,pending investigation and status update
91 Communication Failure Communication failure, transaction not processed by bank
1003 Transaction amount exceeds the per Transaction Limit. Transaction is greater than the allowed value for the day
1004 Customer has exceeded allowed transactions number for 24 hours Velocity control on purchases per day reached
1005 Purchase amount check *** Repeated amounts being purchased
1006 Invalid credit card number. Incorrect digit length for card type
1007 Invalid credit card expiry details
1008 Luhn’s modulus check failed CC number is invalid for card type
1009 PO Box error *** Bill address contains a PO Box address
1010 Failed Country lookup Bill country is on a negative country list
1011 Failed IP lookup Customer IP is on a negative IP list
1012 Failed BIN lookup Customer CC BIN is on a negative list
1013 Customer card no. exceeded bank rejection limit Customer credit card has reached its
1014 Customer blocked Customer is temporarily blocked pending investigation
1015 Minimum purchase check Purchase amount is below a specified level
1016 Failed IP check. *** Customer IP not in allowed list of IPs
1020 MOTO block MOTO not enabled
1021 Recurring block Recurring not enabled.
5001 3D SECURE Authentication Failed Customer card enrolled for 3D SECURE but 3D
5002 Intermediate 3d Secure Response code Returned in schedule 2C Response if card is enrolled for 3d Secure
5003 Intermediate 3d Secure Response code** Internal to LPS, indicating customer has completed authentication in ACS URL and landed back to LPS server
5004 Intermediate 3d Secure Response code** Internal to LPS, indicating merchant has sent PARES to LPS Server
9000 Unexpected error Incorrect data types, unknown error
9001 Missing required field. A transaction id of –1 will also be returned
9002 Mastercard transactions blocked *** CC number is invalid for card type
9003 Currency Block*** Currency NOT enabled.
9004 Bank gateway not enabled. Bank gateway not enabled.
9009 SCSS service not enabled Account not enabled for SCSS.
9010 SCSS unique identifier error SCSS token not found or error.

*** These codes may not be active for your account(s).

APPENDIX E: MANAGE CARD TOKENS
When merchants process recredits using SCSS system and generate card tokens corresponding to the customer card details, they can use the token as the reference for all subsequent transactions for that customer. The SCSS system provides two layers of encapsulation and hence it will not be possible to derive card details from token in anyway. To provide options for merchants to manage the details of card tokens, LPS SCSS system provides API which will enable merchants to automatically manage their card tokens. For example, if the expiry dates need to be changed due to card renewal it will not be necessary to post the whole details, but just the new changed details to the manage SCSS API functionality which will selectively update required information. Currently LPS SCSS manage API provides three functionalities:
a. Querying of card details linked to a token;
b. Updating of card details linked to a token;
c. Deletion of a token;

Schedule 2I – LPS POST Specification for Manage Tokens Request

Field Description Required / Optional
Merchant_id LPS Provided value. Required
merchantpwd Password used for authenticating the refund account Required
AccountType Type of account. Valid values are:
a. A: Auth account (default);
b. R: Recredit account;
Required
RequestType SCSS manage card token request type. It should be one of the following:

SCSS_Q: Querying card token details;
SCSS_U: Update card token details;
SCSS_D: Delete card token details;
Required
CrdStrg_Token Unique card details identifier from LPS SCSS system Required
Bill_firstname Card holder first name Optional ***
Bill_lastname Card holder last name Optional ***
Bill_address1 Card holder address line 1 Optional ***
Bill_address2 Card holder address line 2 Optional ***
Bill_city Card holder address city Optional ***
Bill_country Card holder address country Optional ***
Bill_zip Card holder address zip / postal code Optional ***
Customer_cc_type Card scheme name.
Valid values:
VISA, MAST, MAESTRO
(Case Sensitive, upper case only)
Optional ***
Customer_cc_expmo Expiration month(mm) of the credit / debit card Optional ***
NOTE: If this value is sent then Customer_cc_expyr must be sent as well.
Customer_cc_expyr Expiration year(yyyy) of the credit / debit card Optional ***
NOTE: If this value is sent then Customer_cc_expmo must be sent as well.

*** Optional – To be sent only when the updating the corresponding field value stored in LPS Token System.

Schedule 2J – LPS POST Specification for Manage Tokens Response

Field Description Data type Length
ResponseType Response type code Numeric 2
RequestType Unique code for the request process String 10
Requestid Unique Identifier for the request generated by LPS Numeric 10
CrdStrg_Token SCSS system unique card identifier sent in request String 100
Bill_firstname First name of the card holder stored for the unique identifier sent String 50
Bill_lastname Last name of the card holder stored for the unique identifier sent String 50
Bill_address1 Billing customer first line of address stored for the unique identifier sent String 100
Bill_address2 Billing customer first line of address stored for the unique identifier sent String 100
Bill_city Billing customer city stored for the unique identifier sent String 50
Bill_state Billing customer state stored for the unique identifier sent String 50
Bill_country Billing customer country code stored for the unique identifier sent (in ISO 2 digit format) String 2
Bill_zip Billing customer postal code / zip code stored for the unique identifier sent String 100
CardBin Bin number of the card stored for the unique identifier sent Numeric 6
CardLast4 Last 4 digits of the card number stored for the unique identifier sent Numeric 4
Customer_cc_type Card type stored for the unique identifier sent String 10
Customer_cc_expmo Expiration month(mm) of the card stored for the unique identifier sent Numeric 2
Customer_cc_expyr Expiration year(yyyy) of the card stored for the unique identifier sent Numeric 4
Status Status code to indicate the request status Numeric 10

Manage Tokens “ResponseType” response codes

Description Code
Manage Token Response 7

Manage Tokens “Status” response codes

Code Description
0 Request completed successfully
9010 SCSS unique identifier incorrect or not found
1001 User authentication failed or account not enabled for SCSS
1002 Merchant account inactive
9000 Unexpected system error
9001 Mandatory field missing
Manage SCSS System

In the event the billing details or card details needs to be updated, then merchants can make use of manage SCSS subsystem API to update or delete the card details.

The way the system works is as follows:

  • Merchants send normal authorisation request with SCSS flag set to Y.
  • A unique identifier is generated and returned along with the authorisation response.
  • The unique identifier acts as the reference for all subsequent transactions.
  • The identifier also references complete billing details of the card holder. Hence apart from the card details, billing details also will not be necessary when posting the identifier.

Once a token is generated the system flow will be as follows:
  • Merchant sends normal authorisation request with SCSS flag set to D (implying already done).
  • If SCSS flag is set to D, then instead of card number, the SCSS token should be posted.

Points to note when posting token with SCSS flag set to D:
  • When posting with SCSS flag set to D, the token must always be posted or else the transactions will be rejected with a prescreening code.
  • If card number is also sent along with SCSS flag set to D and token also present, card number will be ignored.
  • If billing details as well as other card details are posted along with token, the details posted in the request will take precedence over the details stored in SCSS for that token. Hence the posted values will be utilised for authorisation processing. However, note that the details stored in SCSS will not have been updated. If it should be updated, then a separate update request on manage SCSS system API should be sent.

The unique identifier is of no value to anyone who attempts to steal sensitive information because the secure credit card information can never be obtained by using the identifier. Technically, the identifier is a hash pointer reference to a token value which is then referenced to the card holder data in our data store. Hence our SCSS system provides robust security in protecting card holder information.

SCSS system comprises of four main building blocks:

a. Card Token Generation:

This phase consists of the generation of unique identifier for the card holder data. The unique identifier is linked to the merchant account issued by LPS. In case of standalone SCSS system, if the card number already exists on the system then the system will reject and new token generation will fail. However, in case of SCSS linked to authorisation, if an existing card number is used, then the same identifier will be returned if the card details has been previously posted by the client and an identifier generated previously.

b. Card Token Details Update:

This phase consists of an independent API which will enable merchants to be in control of their secure card data. In the event the card details need updating, for example if the expire dates have changed due to card renewal or the customer’s address details have changed. The merchants can send the token as well the new details which will be automatically updated into the SCSS system. All the usual process of validating the credentials will be necessary before the details can be updated.

c. Card Token Details Query:

This phase is similar to “Token Update” phase, except that it will just return the details stored for that token rather than altering any information. This will be useful if the merchants wish to recheck the details stored in our SCSS system before posting transactions.

d. Card Token Delete:

If customer details are to be removed due to various reasons such as customer has closed their account or audit retention policy or customer deemed fraudulent etc, merchants can send the “Token Delete” request and the card details will be completely removed and cannot be used further.

Alternate Payment
Standard Authorisation
Payment Request

Schedule 2A – LPS Common Post Specification for Payment Request


Field Description Mandatory Data Type Length
merchant_id Merchant account user id provided by LPS Required String 50
merchant_pwd Merchant account password provided by LPS Required String 50
merchant_ref_number Merchant generated reference number Required alphanumeric 50
merchant_ip Static IP address of the merchant server Required, as provided by merchant
customer_phone Telephone number of the customer Optional Numeric 20
customer_email Email address of the customer Optional String 50
currencydesc The 3 digit ISO currency code (e.g. EUR) Required String 3
amount Purchase amount – 2 decimal places Required Numeric 8
countrycode The 2 digit ISO country code (e.g. DE) Required String 2
servicecode Service Code for which service needed.Refer code on Appendix C Required Numeric, as provided by LPS
preferredlanguage The 2 digit language code (e.g. de) that is preferred when presenting payment pages to the customer Optional String 2
accountholdername The account holder name Required String 100
sellingpoint Point of sale (for merchant use) Optional String 50
soldservice Service sold to the customer (for merchant use) Optional String 50
merchantredirecturl_id The url identifier of URL to which customer will be redirected after authentication Required String 50
merchanterrorurl_id The url identifier of URL to which customer will be redirected in case of a fatal error or unable to process request Required String 50
notificationurl_id The url identifier of URL to which LPS should send transaction notification. Refer notification process in document Required String 50
Payment Response

Schedule 2B – LPS Common Post Specification for Payment Response


This response will be returned back to the merchant if the payment service processed the transaction synchronously and transaction status immediately available. This response will also be returned if transaction is processed asynchronously and transaction status is still pending (final_status = 2) and no customer authentication is needed. The transaction status will be notified using notification process as explained in Section 5. The responsetype will be either 0 or 1.

METHOD – POST
Field Description Data Type Length
responsetype Transaction response type (refer Appendix B Section A) Numeric 4
lps_apid Unique Identifier for the transaction generated by LPS Numeric 8
merchant_ref_number Merchant reference number generated for the order String 50
replypwd SHA1 hash value of reply_password provided by Merchant to LPS during account setup, to validate response String 100
currencycode Transaction currency as per ISO code String 3
amount Transaction amount Numeric 8
process_status Status of the service process (refer Appendix B Section B) Numeric 4
final_status Final status of the transactions (refer Appendix B Section C) Numeric 4
bankreference Unique bank reference number String 4
transactiondate Date of bank transaction String 50
error_code Error code if errors occurred String 50
Response

Schedule 2B – Payment Response

responsetype=1&lps_apid=10545&merchant_ref_number=lpstest123&replypwd=d802b9d79fadd6cbd1d830
3619739b3ed124ef22&currencycode=EUR&amount=1.00&process_status=0&final_status=0&bankreference
=24307494&transactiondate=&error_code=
Enrolment Response

Schedule 2C – LPS POST Specification for Enrolment Response


This response will be returned if the request payment service requires customer authentication. The responsetype will be 2. The customer must be redirect to the url specified in “redirecturl” post field.

METHOD – POST
Field Description Data Type Length
responsetype Transaction response type (refer Appendix B Section A) Numeric 4
lps_apid Unique Identifier for the transaction generated by LPS Numeric 4
merchant_ref_number Merchant reference number generated for the order String 50
replypwd SHA1 hash value of reply_password provided by Merchant to LPS during account setup, to validate response String 100
redirecturl URL to redirect the customer to only available in PENDING asynchronous transactions String 255
Response

Schedule 2C – Payment Response

responsetype=2&lps_apid=10544&merchant_ref_number=lpstest123&replypwd=d802b9d79fadd6cbd1d8303
619739b3ed124ef22&redirecturl=https://trusted.girogate.de/ti/dumbdummy?tx=24307484&rs=JCb3h0cL
S6FgTm8WC8sPqkHpzDR44ZCk&cs=dddc8a95b1bda86153f14df2bab82c975a31b7508cc2569115c09d3677
31f967
ACS Redirect Request

Schedule 2D – LPS POST Specification for ACS Redirect Request


On receiving Schedule 2C response (responstype=2) from LPS AP Gateway, merchants must redirect customer to the “redirecturl” along with the following “hidden” fields. Note that all fields are mandatory.

METHOD – POST
Field Description Data Type Length
lps_apid Unique Identifier for the transaction generated by LPS Numeric 4
merchant_ref_number Merchant reference number generated for the order String 50

THIS POST MUST BE BROWSER TO SERVER POST
ACS Redirect Response

Schedule 2E – LPS POST Specification for ACS Redirect Response


This response will be returned back to the URL assigned to merchantredirecturl_id which merchant had posted on the original transaction request (Schedule 2A). The responsetype is 3.

The customer is also transferred along with this response back to merchant site.

METHOD – POST
Field Description Data Type Length
responsetype Transaction response type (refer Appendix B Section A) Numeric 4
lps_apid Unique Identifier for the transaction generated by LPS Numeric 8
merchant_ref_number Merchant reference number generated for the order String 50
replypwd SHA1 hash value of reply_password provided by Merchant to LPS during account setup, to validate response String 100
currencycode Transaction currency as per ISO code String 3
amount Transaction amount Numeric 8
process_status Status of the service process (refer Appendix B Section B) Numeric 4
final_status Final Status of the transactions (refer Appendix B Section C) Numeric 4
bankreference Unique Bank reference number String 4
transactiondate Date of bank transaction String 50
error_code Error code if errors occurred String 50

THIS POST WILL BE SENT ALONG WITH A BROWSER REDIRECT TO REDIRECT CUSTOMER BACK TO MERCHANT SITE.
Auth Request

Schedule 2F – LPS POST Specification for Auth Request


After receiving customer back on Schedule 2E, if the transaction status is still pending, merchants can check for transaction status by opening synchronous connection post with following fields.

METHOD – POST
Field Description Data Type Length
merchant_id Merchant account user id provided by LPS String 50
merchant_pwd Merchant account password provided by LPS String 50
merchant_ip Static IP address of the merchant server As provided by merchant
lps_apid Unique Identifier for the transaction generated by LPS Numeric 4
merchant_ref_number Merchant reference number generated for the order String 50

~~~ The response for this request will be Schedule 2B with a responsetype of either 0 or 5. ~~~
Additional post fields per payment services

APPENDIX D: Additional post fields per payment services


All payment services will have the same set of common input parameters as specified in Schedule 2A to Schedule 2F. For any payment services which require additional post fields in addition to the common post fields, it will be defined in individual sections below.
A. PAYSAFECARD

Schedule A – LPS Post Specification for Payment Request


There are no specific input parameters for this payment method. For standard input parameters check Schedule 2A.

Country code: AR, AT, BE, BG, CA, CH, CY, CZ, DE, ES, FI, FR, GB, GR, HR, HU, IR, IT, LT, LU, LV, MA, MX, NL, NO, PE, PL, PT, RO, SE, SK, SL, UY, AU, DK Currency: AUD, GBP, EUR, CAD, NOK, PLN, SEK, USD

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
B. GIROPAY

Schedule A – LPS Post Specification for Payment Request


There are no specific input parameters for this payment method. For standard input parameters check Schedule 2A.
Country code: DE
Currency: EUR

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
C. DIRECTPAY/SOFORT

Schedule A – LPS Post Specification for Payment Request


There are no specific input parameters for this payment method. For standard input parameters check Schedule 2A.
Country code: AT, BE, DE, NL
Currency: EUR

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
D. QIWI

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
accountnumber Customer mobile number Required Numeric 10
countrycode Customer mobile country code in 2-digit ISO code format. Example: US, GB, FR etc. Required String 2
For standard request fields check Schedule 2A.

Country code: KZ, RU, UA
Currency: EUR, RUB, USD

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
E. TRUSTPAY

Schedule A – LPS Post Specification for Payment Request


There are no specific input parameters for this payment method. For standard input parameters check Schedule 2A.


TrustPay works for the following country code/currency combinations:

Country code: BG, CZ, DK, EE, FI, GR, HU, LV, LT, NO, RO, SK, SI, SE
Currency: EUR, BGN, CZK, DKK, HUF, NOK, RON, SEK

The currencies available to you may depend on your contract.

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
F. ELV

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
accountnumber Customer bank account number Required String 50
bankcode Customer bank code Required String 50

For standard request fields check Schedule 2A.

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
G. EPS

Schedule A – LPS Post Specification for Payment Request


There are no specific input parameters for this payment method. For standard input parameters check Schedule 2A.


EPS works for the following country code/currency combinations:

countrycode currencycode
AT EUR

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
H. iDEAL

Schedule A – LPS Post Specification for Payment Request


There are no specific input parameters for this payment method. For standard input parameters check Schedule 2A.


iDEAL only works for the following country code/currency combinations:

countrycode currencycode
NL EUR

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
I. POLi

Schedule A – LPS Post Specification for Payment Request


There are no specific input parameters for this payment method. For standard input parameters check Schedule 2A.


POLi only works for the following country code/currency combinations:

countrycode currencycode
NZ NZD
AU AUD

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
J. PRZELEWY24

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
customer_email Customer email address Required String 50

For standard request fields check Schedule 2A. Przelewy24 only works for the following country code/currency combinations:

countrycode currencycode
PL PLN & EUR


Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
K. TELEINGRESO

Schedule A – LPS Post Specification for Payment Request

Field Description Mandatory Data Type Len
customer_address1 Customer’s address line 1 Optional String 50
customer_address2 Customer’s address line 2 Optional String 50
customer_city Customer’s city Optional String 50
customer_state Customer’s state Optional String 50
customer_zipcode Customer’s postalcode Optional String 10
For standard request fields check Schedule 2A.
countrycode currencycode
ES EUR

Schedule B – LPS Post Specification for Payment Response

There are no specific response fields for this payment method. For standard response fields check Schedule 2B.

L. SKRILL

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
customer_email Customer email address Required String 50
customer_address1 Customer’s address line 1 Required String 50
customer_address2 Customer’s address line 2 Optional String 50
customer_city Customer’s city Required String 50
customer_state Customer’s state Optional String 50
customer_zipcode Customer’s postalcode Required String 10
For standard request fields check Schedule 2A.

Country code: International
Currency: International

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
M. SAFETYPAY

Schedule A – LPS Post Specification for Payment Request

There are no specific input parameters for this payment method. For standard input parameters check Schedule 2A.

Country code: AT, BR, CA, CO, CR, DE, MX, NI, PA, PE, ES, NL, US
Currency: EUR, USD

Schedule B – LPS Post Specification for Payment Response

There are no specific response fields for this payment method. For standard response fields check Schedule 2B.

N. ASTROPAY

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
cardnumber Customer card number Required String 20
cardcvc Customer card security code Required String 3
cardexpirydate 2 digit of card expiry month Required String 2
cardexpiryyear Card expiry year Required String 4

For standard request fields check Schedule 2A.

Country code: AR, BO, BR, CL, CO, CR, MX, PE, UY, VE
Currency: USD

Schedule B – LPS Post Specification for Payment Response

There are no specific response fields for this payment method. For standard response fields check Schedule 2B.

O. UKASH

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
ukash_consumerref Ukash Customer Reference Required String 100

For standard request fields check Schedule 2A.

Country code: International
Currency: International


Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
P. BOLETO

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
customer_email Customer email address Required String 50
customer_address1 Customer’s address line 1 Required String 50
customer_address2 Customer’s address line 2 Optional String 50
customer_city Customer’s city Required String 50
customer_state Customer’s state Required String 50
customer_zipcode Customer’s postalcode Optional String 10
customer_idtype Customer’s identification type. Values: 1: National Id Required Integer 4
customer_idnumber Customer’s identification number (CPF/CNPJ) Required String 250
consumerid Unique id to identify the consumer Required String 50
customer_dob Date of birth, format YYYYMMDD Required String 30



For standard request fields check Schedule 2A. Boleto only works for the following country code/currency combinations:


countrycode currencycode
BR USD


Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
Q. TICKETONLINE (RABERIL)

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
customer_email Customer email address Required String 50
customer_address1 Customer’s address line 1 Required String 50
customer_address2 Customer’s address line 2 Optional String 50
customer_city Customer’s city Required String 50
customer_state Customer’s state Required String 50
customer_zipcode Customer’s postalcode Optional String 10
customer_idtype Customer’s identification type. Values: 1 : National Id Required Integer 4
customer_idnumber Customer’s identification number Required String 250

For standard request fields check Schedule 2A. TicketOnline (Raberil) only works for the following country code/currency combinations:


countrycode currencycode
MX USD

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.

R. INSTANT TRANSFER

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
customer_email Customer email address Required String 50
accountnumber Customer bank account number Required String 50
bankcode Customer bank code Required String 50
consumerid Unique id to identify the consumer Required String 50



Schedule A.1 – For SEPA


Field Description Mandatory Data Type Len
customer_email Customer email address Required String 50
account_iban Valid German IBAN (starts with “DE”,followed by 20 numeric digits) Required String 50
account_bic Valid BIC (8 or 11 alphanumeric digits) Required String 50
consumerid Unique id to identify the consumer Required String 50

Please note that within the same transaction you can either send accountnumber/bankcode OR account_iban / account_bic.
For standard request fields check Schedule 2A


Instant Transfer only works for the following country code/currency combinations:

countrycode currencycode
DE EUR

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
S. NETELLER

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
verificationcode Neteller Secure id uniquely assigned by neteller to customer Required String 25

For standard request fields check Schedule 2A.


Country code: International
Currency: International

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
T. ALIPAY

Schedule A – LPS Post Specification for Payment Request


There are no specific input parameters for this payment method. For standard input parameters check Schedule 2A.

Alipay only works for the following country code/currency combinations:

countrycode currencycode
CN EUR

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
U. BITCOINS

Schedule A – LPS Post Specification for Payment Request

Field Description Mandatory Data Type Len
purchase_summary Description of the purchase displayed to the customer on the payment page Optional String 512
For standard request fields check Schedule 2A.

Country code: International
Currency: International



Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
V. BANAMEX

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
consumerid Unique id to identify the consumer. Required String 50
customer_email Valid email of customer Required String 50
customer_nationalid Unique national identification number issued by designated country where customer resides Required String 30
customer_dob Date of birth, format YYYYMMDD Required String 30

For standard request fields check Schedule 2A.
countrycode currencycode
MX USD



Schedule B – LPS Post Specification for Payment Response

There are no specific response fields for this payment method. For standard response fields check Schedule 2B.

W. BRADESCO

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
consumerid Unique id to identify the consumer. Required String 50
customer_email Valid email of customer Required String 50
customer_nationalid Unique national identification number issued by designated country where customer resides Required String 30
customer_dob Date of birth, format YYYYMMDD Required String 30

For standard request fields check Schedule 2A.

countrycode currencycode
BR USD

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
X. EFECTY

Schedule A – LPS Post Specification for Payment Request

Field Description Mandatory Data Type Len
consumerid Unique id to identify the consumer. Required String 50
customer_email Valid email of customer Required String 50
customer_nationalid Unique national identification number issued by designated country where customer resides Required String 30
customer_dob Date of birth, format YYYYMMDD Required String 30

For standard request fields check Schedule 2A.
countrycode currencycode
CO USD

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
Y. ITAU

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
consumerid Unique id to identify the consumer Required String 50
customer_email Valid email of customer Required String 50
customer_nationalid Unique national identification number issued by designated country where customer resides Required String 30
customer_dob Date of birth, format YYYYMMDD Required String 30

For standard request fields check Schedule 2A.

countrycode currencycode
BR USD

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.

Z. PAGO SEGUROS EN LINEA

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
consumerid Unique id to identify the consumer Required String 50
customer_email Valid email of customer Required String 50
customer_nationalid Unique national identification number issued by designated country where customer resides Required String 30
customer_dob Date of birth, format YYYYMMDD Required String 30

For standard request fields check Schedule 2A.

countrycode currencycode
CO USD

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
AA. REDPAGOS

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
consumerid Unique id to identify the consumer. Required String 50
customer_email Valid email of customer Required String 50
customer_nationalid Unique national identification number issued by designated country where customer resides Required String 30
customer_dob Date of birth, format YYYYMMDD Required String 30

For standard request fields check Schedule 2A.

countrycode currencycode
UY USD

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.

AB. SANTANDER

Schedule A – LPS Post Specification for Payment Request

Field Description Mandatory Data Type Len
consumerid Unique id to identify the consumer Required String 50
customer_email Valid email of customer Required String 50
customer_nationalid Unique national identification number issued by designated country where customer resides Required String 30
customer_dob Date of birth, format YYYYMMDD Required String 30

For standard request fields check Schedule 2A.

countrycode currencycode
BR USD

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.

AC. ENTERCASH

Schedule A – LPS Post Specification for Payment Request

Field Description Mandatory Data Type Len
consumerid Unique id to identify the consumer Required String 50

For standard request fields check Schedule 2A.

countrycode currencycode
AT EUR
DE EUR
FI EUR
SE SEK

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
AD. ZIMPLER

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
customer_email Valid email of customer Required String 50

For standard request fields check Schedule 2A.

countrycode currencycode
FI EUR
SE SEK

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
AE. BANCO DO BRASIL

Schedule A – LPS Post Specification for Payment Request


Field Description Mandatory Data Type Len
customer_email Customer email address Required String 50
consumerid Unique id to identify the consumer Required String 50
customer_address1 Customer’s address line 1 Required String 50
customer_zipcode Customer’s postalcode Required String 10
customer_dob Date of birth, format YYYYMMDD Optional String 30
customer_nationalid Unique national identification number issued by designated country where customer resides Required String 30

For standard request fields check Schedule 2A.

countrycode currencycode
BR USD

Schedule B – LPS Post Specification for Payment Response


There are no specific response fields for this payment method. For standard response fields check Schedule 2B.
Refund
Refund Request

Schedule 2A – LPS Common Post Specification for Refund Request


Field Description Mandatory Data Type Length
merchant_id Merchant account user id provided by LPS Required String 50
merchant_pwd Merchant account password provided by LPS Required String 50
merchant_ref_number Merchant reference number provided for the original purchase transaction Required alphanumeric 50
merchant_ip Static IP address of Merchant server Required
lps_apid Unique LPS transaction id as provided for the original purchase transaction Required Numeric, refer Appendix C
currencydesc The 3 digit ISO currency code (e.g. EUR) of the original purchase transaction Required String 3
amount Refund amount (to match the purchase amount) Required Numeric 16
refund_comment The reason or any note which needs to be added to the refund request Optional String 500
Refund Response

Schedule 2B – LPS Common Post Specification for Refund Response


METHOD – POST
Field Description Data Type Length
responsetype Transaction response type (refer Appendix B section A) Numeric 4
lps_refund_apid Unique Identifier for the refund transaction generated by LPS Numeric 10
merchant_ref_number Merchant generated reference number posted along with refund request String 50
refund_replypwd Hash value of the secret password given to LPS String 100
currencycode Transaction currency ISO code String 3
amount Transaction amount Numeric 8
process_status Status of refund request (refer appendix B) Numeric 4
final_status Final status of transaction (refer appendix B) Numeric 4
bankreference Unique bank/service reference number String 50
transactiondate Transaction date in UK timezone Date time 50
error_code Error code (if available) String 50
Refund Status Check Request

Schedule 2C – LPS Common Post Specification for Refund Status Check Request


Field Description Mandatory Data Type Length
merchant_id Merchant account user id provided by LPS Required String 50
merchant_pwd Merchant account password provided by LPS Required String 50
merchant_ref_number Merchant generated reference number Required alphanumeric 50
merchant_ip Static IP address of Merchant server Required
lps_refund_apid Unique LPS AP refund identifier returned on initial refund request (schedule 2B) Required Numeric 10
Payout Status Check Response

Schedule 2D – LPS Common Post Specification for Payout Status Check Response


METHOD – POST
Field Description Data Type Length
lps_refundstatuscheck_id Unique Identifier generated for the status check request Numeric 4
lps_refund_apid Unique Identifier for the transaction generated by LPS Numeric 8
merchant_ref_number Merchant generated reference number posted along with original refund request String 50
refund_status Refund status code (refer appendix B) String 100
Payouts
Payout Request

Schedule 2A – LPS Common Post Specification for Payout Request

Field Description Mandatory Data Type Length
merchant_id Merchant account user id provided by LPS Required String 50
merchant_pwd Merchant account password provided by LPS Required String 50
merchant_ref_number Merchant generated reference number Required alphanumeric 50
merchant_ip Static IP address of Merchant server Required
servicecode Service Code for which service needed. Refer code on Appendix C Required Numeric, refer Appendix C
currencydesc The 3 digit ISO currency code (e.g. EUR) Required String 3
amount Purchase amount – 2 decimal places Required Numeric 16
payout_comment The reason or any note which needs to be added to the Payout request. Required String 500
Payout Response

Schedule 2B – LPS Common Post Specification for Payout Response


METHOD – POST
Field Description Data Type Length
responsetype Transaction response type (refer Appendix B section A). Numeric 4
lps_payout_apid Unique Identifier for the transaction generated by LPS. Numeric 10
merchant_ref_number Merchant generated reference number posted along with payout request. String 50
merchant_ip Static IP address of Merchant server Required
payout_replypwd Hash value of the secret password given by LPS. String 100
currencycode Transaction currency ISO code String 3
amount Transaction amount Numeric 8
process_status Status of payout request (refer appendix B) Numeric 4
final_status Final status of transaction (refer appendix B) Numeric 4
bankreference Unique bank/service reference number String 50
transactiondate Transaction date in UK timezone Date time 50
error_code Error code (if available) String 50
Payout Status Check Request

Schedule 2C – LPS Common Post Specification for Payout Status Check Request


Field Description Mandatory Data Type Length
merchant_id Merchant account user id provided by LPS Required String 50
merchant_pwd Merchant account password provided by LPS Required String 50
merchant_ref_number Merchant generated reference number Required alphanumeric 50
merchant_ip Static IP address of Merchant server Required
lps_payout_apid Unique LPS AP payout identifier returned on initial payout request (schedule 2B) Required Numeric 10
Payout Status Check Response

Schedule 2D – LPS Common Post Specification for Payout Status Check Response


METHOD – POST
Field Description Data Type Length
lps_payoutstatuscheck_id Transaction response type (refer Appendix B section A) Numeric 4
lps_payout_apid Unique Identifier for the transaction generated by LPS Numeric 8
merchant_ref_number Merchant generated reference number posted along with original payout request String 50
payout_status Payout status code (refer appendix B) String 100
LPS Response Codes
Response Type
Description Code
Pre screen response 0
Service transaction response 1
Process Status
Code Description Reason
0 Process status succeed Payment process accepted, but either payment accepted or pending
1 Process status failed Payment process failed or aborted
2 Pending process Payment process pending
1001 Authentication failed for Merchant Wrong id, password or IP supplied
1002 Merchant account inactive Merchant account inactive
1003 Merchant account not enabled for payouts Merchant account should be enabled and configured for payouts. Contact LPS.
1004 Service not enabled for payouts Service does not offer or is not enabled for payouts
1005 Payout Id incorrect Payout Id specified is incorrect or not found
9000 Unexpected error Incorrect data types, unknown error
9001 Missing required field A transactionid of –1 will also be returned
9004 Invalid service code Wrong service code posted
90 Communication failure Request was sent to service, but not response received. Merchant should check transaction status or contact LPS
Final Status
Description Code
Accepted 0
Failed 1
Pending 2
Payout Status
Description Code
Accepted 0
Failed 1
Pending 5
Service Codes
Test Service Codes
Code Service Name Descriptions
4 TEST QIWI GATEWAY QIWI test environment
5 TEST SKRILL GATEWAY SKRILL test environment
19 TEST NETELLER GATEWAY NETELLER test environment
Live Service Codes
Code Service Name Payment Type Area
1005 QIWI E-Wallet Russia
1010 SKRILL (MONEYBOOKERS) E-Wallet International
1018 NETELLER E-Wallet International
Recredit
Introduction

This document describes the integration process for the LPS Recredits system. Recredits include the processing of voids (before settlement), refunds (after settlement) and OCT’s.

Voids
Merchants can post a request to the LPS gateway to be void/reverse an authorisation. When a request is submitted, the gateway performs a series of checks and then directly forwards a void request to the bank for transaction reversal. A response is sent back to the merchant in real time to acknowledge the request and confirm if it’s been accepted or declined. The status of the request can also be viewed by logging onto the merchants reporting system on the LPS website

Refunds
Merchants can post a request to the LPS gateway to refund a settled transaction. When a request is submitted, the gateway performs a series of checks and then responds back to the merchant. Refunds are checked by LPS Admin staff before they are sent to the bank. Depending on the banks rules, this API can be used to perform partial refunds as well. The status of the request can be viewed by logging onto the merchants reporting system on the LPS website.

OCT’s
Merchants can post a request to the LPS gateway to make a payment to a customer’s card number via the recredits system. When a request is submitted, the gateway performs a series of checks and responds back to the merchant. The submitted transactions are checked by LPS Admin staff before they are sent to the bank. The status of request can be viewed by logging onto the merchants reporting system on the LPS website.

REALTIME PROCESSING
LPS Recredits API offers the ability to perform real time reversals / refunds i.e. as soon as the authorisation has been performed. To take advantage of this, the request needsto carry the post field “realtime” parameter with value set as Y. Do note that as a general rule, this is best to set only for processing voids/refunds of any auth’s done in the last one hour. If attempting to void or refunds of transactions whose auth time is older than an hour, its best to ignore this flag.

POSTING & RESPONSE PARAMETERS FOR REFUND & VOID

The data in the table below should be posted to a URL that will be confirmed by LPS.

Schedule A1 posting para
Form Field Description Details
merchant_refund_id LPS Provided value. It will be used to process refunds on all sites in your group, so if you have multiple authorisation accounts (merchant_user_id’s) with LPS, then this single merchant_refund_id will be used to process refunds for the entire group Mandatory
merchant_pwd Password used for authenticating the refund account Mandatory
refund_type This field indicates the type of refund. It should contain one of the following depending on the request: 1 – Standard Refund 2 – Fraud Refund 3 – Standard Cancellation 4 – Fraud Cancellation 5 - OCT 6 – Bacs 7- Faster Payments 8 – Wires 9 - BacsPay (bureau processing) Mandatory
lps_transaction_id Original LPS transaction id of the authorisation transaction you wish to refund/void. Conditional (Only for refund_type 1 to 4)
merchant_ref_number Merchant Reference number generated and sent to LPS by merchant with the original authorisation. NB: This should match only for refunds/voids. Mandatory
refund_comment The reason or any note which needs to be added to the recredit request.

NB: mandatory in case of fraud refunds. It’s a free text and ideally should indicate why the transaction is deemed fraud
Optional***

***Mandatory for fraud refunds.
merchant_pwd Password used for authenticating the refund account Mandatory
Schedule A2 response param
Form Field Description
LPSReply_pwd Password provided by merchant to LPS to authenticate return post fields.
Request_Id Request Id generated for the recredit request.
LPS_refund_id Refund Id generated for the recredit request.
RefundSubmit_status The status of the recredit request. See codes below.
Bank_status The submitted status of payback in LPS.
RECREDIT STATUS CHECK

All recredit status can be checked in the LPS Hub reporting portal. However, the LPS recredits gateway also provides an API call to check the status of Refund/cancellation submitted. This API call can be used to check in the event of communication failures on original Refund/Cancellation submissions. Or if the merchant wishes to check the status of Refund/Cancellation, or if they would like to know if the Refund/Cancellation is fully settled after being accepted by LPS initially

SCHEDULE A3: Posting Parameters

The data in the table below should be posted to a URL that will be confirmed by LPS.

Form Field Description Details
merchant_refund_id LPS Provided value… Mandatory
merchant_pwd Password used for authenticating the refund account. Mandatory
merchant_ref_number Merchant Reference number sent along with the original recredit request. Mandatory
refund_id Refund Id obtained in response from original recredit request Mandatory
refund_currency Transaction Currency as sent in original recredit request Mandatory
refund_amount Transaction amount as sent in original recredit request Mandatory
SCHEDULE A4: Response Parameters
Form Field Description
LPSReply_pwd Password provided by merchant to LPS to authenticate return post fields.
LPS_refund_id Refund Id generated for the original recredit request.
Request_Id Request Id generated for the original recredit request.
refund_type Type of recredit processed for the transaction.
Refund_amount Refund amount
Refund_currency Refund currency
RefundStatusCheckId Unique Id generated for the status check request.
RefundStatusCheck_status The status of Recredit status check request
RefundSubmit_status The submitted status of Recredit in LPS. Please refer schedule E1.
Bank_status The settlement status of Recredit in LPS.
SCHEDULE A5: Response Codes
Refundstatuscheck_Status Description
0 Status check request completed. Please check refund submit status and bank status to know the final status of the Recredit.
4001 Merchant login details incorrect.
4002 Merchant login details incorrect.
4003 Recredit request not found.
9001 Required mandatory field missing in the Recredit status check request.
9000 System error while processing the Recredit status check request. Please contact LPS.
Bank status
Bank_Status*** Description
00 Recredit accepted by bank.
05 Recredit rejected by bank.
90 Communication Failure. Please contact LPS



*** Depending upon how your recredit account is configured, the “Bank_status” may also be returned empty instead of any of the above values. In that scenario, if “Refund Submit_status” is 0 and “Bank_Status” is empty, then it implies request accepted by LPS but pending submission to bank. If “Refund Submit_status” is NOT 0, then “Bank_status” will always be empty, implying that the request has failed LPS checks.

Sample Request for Refund/Void
merchant_refund_id=test_lpsv2&merchant_pwd=test&merchant_ref_number=lpstest123&refund_type=1&LPS_transaction_id=80905626&refund_amount=0.10&refund_comment=test status check

Sample Response for Refund/Void
LPSReply_pwd=mgstest&LPS_refund_id=886087&Request_Id=619322&RefundSubmit_status=0&Bank_status=00

Sample Request for Refund Status Check
merchant_refund_id=Test_lpsv2&merchant_pwd=test&merchant_ref_number=lpstest123&refund_id=838037&refund_amount=0.10&refund_currency=GBP

Sample Response for Refund Status Check
LPSReply_pwd=mgstest&LPS_refund_id=838037&Request_id=577781&refund_type=1&Refund_amount=0.1&Refund_currency=GBP&RefundStatusCheckId=30402&RefundStatusCheck_status=0&RefundSubmit_status=0&Bank_status=00

POSTING & RESPONSE PARAMETERS FOR OCT

The data in the table below should be posted to a URL that will be confirmed by LPS.

SCHEDULE B1: Posting Parameters
Form Field Description Details
merchant_refund_id LPS Provided value. It will be used to process refunds on all sites in your group, so if you have multiple authorisation accounts (merchant_user_id’s) with LPS, then this single merchant_refund_id will be used to process refunds for the entire group. Mandatory
merchant_pwd Password used for authenticating the refund account. Mandatory
refund_type This field indicates the type of refund.
5 - OCT
Mandatory
merchant_ref_number Merchant Reference number generated and sent to LPS by merchant. Mandatory
firstname Customer First Name Mandatory
lastname Customer Last Name Mandatory
phone Customer Phone Optional
email Customer Email Optional
bill_firstname Billing Customer First Name Mandatory
bill_lastname Billing Customer Last Name Mandatory
bill_address1 Billing Customer first line address Mandatory
bill_address2 Billing Customer second line address Optional
bill_city Billing Customer city Mandatory
bill_state Billing Customer state Conditional. Required for CA
bill_zip Billing Customer zip Mandatory
bill_country Billing customer country in ISO 2-digit alpha format. Mandatory
pan Card Number Mandatory
pan_expmo Card expiry month in format mm Mandatory
pan_expyr Card expiry year in format yyyy Mandatory
pan_startmo Card start month in format mm Optional
pan_startyr Card start year in format yyyy Optional
pan_type Card type should contain one of the following values:
VISA
MAST
SWITCH
SOLO
DELTA
AMEX
MAESTRO
(Case sensitive, upper case only)
Mandatory
pan_issue Card issue number. Optional
refund_currency Transaction Currency in ISO 3-digit alpha format Mandatory
refund_amount Transaction amount with two decimal places only Mandatory
scsscheck Unique card details identifier from LPS SCSS system S SCSS systemConditional*** (if scsscheck is set to D)
***If this field is not sent and scsscheck is set to D, a 9010-errorcode will occur
SCHEDULE B2: Response Parameters
Form Field Description
LPSReply_pwd Password provided by merchant to LPS to authenticate return post fields.
Request_Id Request Id generated for the recredit request.
LPS_refund_id Refund Id generated for the recredit request.
RefundSubmit_status The submitted status of payback in LPS. Please refer schedule E1.
Bank_status The settlement status of payback in LPS
SCHEDULE B3: Bank Status
Bank_Status*** Description
00 Payback accepted by bank.
05 Payback rejected by bank.
90 Communication Failure. Please contact LPS.



*** Depending upon how your recredit account is configured, the “Bank_status” may also be returned empty instead of any of the above values. In that scenario, if “Refund Submit_status” is 0 and “Bank_Status” is empty, then it implies request accepted by LPS but pending submission to bank. If “Refund Submit_status” is NOT 0, then “Bank_status” will always be empty, implying that the request has failed LPS checks.

Sample Request for OCT
merchant_refund_id=Test_Payback&Merchant_pwd=test&merchant_ref_number=lpstest123_Jun29_3&Firstname=TestName&Bill_Zip=SE1&PAN=420000######0000&refund_type=5&bill_FirstName=TestName&Bill_City=London&LPS_transaction_id=&Phone=123&PAN_expyr=2022&PAN_Issue=&Lastname=TestName&bill_address1=SouthBankHouse&Bill_address2=&bill_LastName=TestName&CrdStrg_Token=&Bill _Country=GB&PAN_expmo=11&Bill_State=GreaterLondon&PAN_cvc=&refund_amount=0.10&Email=dss@digisource.co.in&PAN_StartMo=&PAN_StartYr=&PAN_TYPE=VISA&refund_currency=GBP

Sample Response for OCT
LPSReply_pwd=Test&LPS_refund_id=2827767&Request_Id=2619331&RefundSubmit_status=0&Bank_status=

SCHEDULE B4: ADDITIONAL RESPONSE PARAMETERS

Depending on the merchant’s account setup status, LPS Recredits API gateway can respond additional fields in addition to the fields specified in the “schedule B2” which is the response to confirm the results of the transaction. These fields will NOT be enabled by default and cannot be guaranteed to be returned even if enabled. Depending on the outcome of the transaction and on the gateway on which the merchant is setup, these fields can be returned. LPS will continue to add these additional response fields as required in future releases/upgrades of the gateway. If merchants wish to get these fields returned, they will need to contact LPS to get their accounts configured.

Form Field Description
merchant_ref_number Returned merchant’s reference number
cardbin First 6 digit of customer card
cardlast4 Last 4 digit of customer card
OCT STATUS CHECKING

All recredit status can be checked in the LPS Hub reporting portal. However, the LPS recredits gateway also provides an API call to check the status of OCT’s submitted. This API call can be used to check in the event of communication failures on original OCT submissions. Or if the merchant wishes to check the status of OCT’s, or if they would like to know if the OCT is fully settled after being accepted by LPS initially.

POSTING & RESPONSE PARAMETERS FOR OCT STATUS CHECK

The data in the table below should be posted to a URL that will be confirmed by LPS.

SCHEDULE B4: Posting Parameters
Form Field Description Details
merchant_refund_id LPS Provided value. Mandatory
merchant_pwd Password used for authenticating the refund account. Mandatory
merchant_ref_number Merchant Reference number sent along with the original OCT request. Mandatory
refund_currency Transaction Currency in ISO 3-digit alpha format Mandatory
refund_amount Transaction amount with two decimal places only Mandatory
card_bin Card number bin (first 6 digits) Mandatory
card_last4 Card number last 4 digits Mandatory
SCHEDULE B5: Response Parameters
Form Field Description
LPSReply_pwd Password provided by merchant to LPS to authenticate return post fields.
PaybackStatusCheckId Unique ID generated for the status check request.
PaybackStatusCheck_status The status of OCT status check request
Request_Id Request Id generated for the recredit request.
Request_Id Request Id generated for the recredit request.
LPS_refund_id Refund Id generated for the recredit request.
RefundSubmit_status The submitted status of OCT in LPS. Please refer schedule E1.
Bank_status The settlement status of OCT in LPS.
SCHEDULE B6: Response Codes
Paybackstatuscheck_Status Description
0 Status check request completed. Please check refund submit status and bank status to know the final status of the OCT.
4001 Merchant login details incorrect.
4002 Merchant recredit account is not active.
4003 OCT request not found.
9001 Required mandatory field missing in the OCT status check request.
9000 System error while processing the OCT status check request.Please contact LPS.
SCHEDULE B7: Bank Status
Bank_Status*** Description
00 Recredit accepted by bank.
05 Recredit rejected by bank.
07 Insufficient balance to process recredit request. Recredit in pending
10 Recredit returned by bank.
90 Communication Failure. Please contact LPS.



*** Depending upon how your recredit account is configured, the “Bank_status” may also be returned empty instead of any of the above values. In that scenario, if “Refund Submit_status” is 0 and “Bank_Status” is empty, then it implies request accepted by LPS but pending submission to bank. If “Refund Submit_status” is NOT 0, then “Bank_status” will always be empty, implying that the request has failed LPS checks.

Sample Request for OCT Status Check
merchant_refund_id=Test_Payback&merchant_pwd=test&merchant_ref_number=lpstest123_Jun29_3&refund_amount=0.10&refund_currency=GBP&Card_Bin=420000&Card_Last4=0000

Sample Response for OCT Status Check
PSReply_pwd=Test&LPS_refund_id=2827767&Request_Id=2619331&PaybackStatusCheckId=238805&PaybackStatusCheck_status=0&RefundSubmit_status=0&Bank_status=00

POSTING & RESPONSE PARAMETERS FOR WIRES

The data in the table below should be posted to a URL that will be confirmed by LPS.

SCHEDULE D1: Posting Parameters
Form Field Description Details
merchant_refund_id LPS Provided value. It will be used to process refunds on all sites in your group, so if you have multiple authorisation accounts (merchant_user_id’s) with LPS, then this single merchant_refund_id will be used to process refunds for the entire group. Mandatory
merchant_pwd Password used for authenticating the refund account. Mandatory
refund_type This field indicates the type of refund8 – Wires Mandatory
merchant_ref_number Merchant Reference number generated and sent to LPS by merchant with the original authorisation. NB: This should match only for refunds/voids. Mandatory
firstname Customer First Name Mandatory
lastname Customer Last Name Mandatory
phone Customer Phone Optional
email Customer Email Optional
bill_address1 Billing Customer first line address Mandatory
bill_address2 Billing Customer second line address Optional
bill_state Billing Customer state Conditional. Required for CA
bill_zip Billing Customer zip Mandatory
bill_country Billing customer country in ISO 2-digit alpha format Mandatory
refund_currency Transaction Currency in ISO 3-digit alpha format Mandatory
refund_amount Transaction amount with two decimal places only Mandatory
refund_comment The reason or any note which needs to be added to the wires request. Optional***
cust_dateofbirth Customer’s Date of Birth in format dd/mm/yyyy Mandatory
cust_bankname Customer’s Bank Name Mandatory
cust_accountnumber Customer’s Account Number Conditional. For countries outside of EEA eg. AU, CA, NZ and UK
cust_accountiban Customer’s Account IBAN Conditional (country is in EEA)
cust_bankswiftcode Customer’s Bank Swift Code Mandatory
cust_bankcode Customer’s Bank Code Conditional. For countries outside of EEA eg. AU, CA, NZ and UK
cust_bankaddress1 Customer’s Bank Address line1 Optional
cust_bankaddress2 Customer’s Bank Address line2 Optional
cust_bankcity Customer’s Bank city Optional
cust_bankstate Customer’s Bank state Optional
cust_bankzip Customer’s Bank zipcode Optional
cust_bankcountry Customer’s Bank country in ISO 2-digit alpha format Mandatory
cust_intermediarybankname Customer’s Intermediary Bank Name Optional
cust_intermediaryaccountiban Customer’s Intermediary Account IBAN Optional
cust_intermediarybankswiftcode Customer’s Intermediary Bank Swift Code Optional
cust_intermediarybankaddress1 Customer’s Intermediary Bank Address line1 Optional
cust_intermediarybankaddress2 Customer’s Intermediary Bank Address line2 Optional
cust_intermediarybankcity Customer’s Intermediary Bank city Optional
cust_intermediarybankstate Customer’s Intermediary Bank state Optional
cust_intermediarybankzip Customer’s Intermediary Bank zipcode Optional
cust_intermediarybankcountry Customer’s Intermediary Bank country in ISO 2-digit alpha format Optional
settle_currency Settlement Currency Code in ISO 3-digit alpha format Mandatory
wire_direction The direction of wire transfer currency exchange trade.
Values: S; B
S: Sell; B: Buy
Mandatory
wire_paymenttype Wire payment type.Values: Standard; Express
Standard: Normal transfer which can take upto 3 days;
Express: Next day transfer***
*** Business working day for both request received and processed.
Mandatory
wire_type Wire type.Values:
1: Standard Wires.
2: Salary Wires.
3: Invoice Wires.
4: Affiliates Wires

if not posted, default value: 1
Optional
payment_reference Payment reference to be shown on customer bank account statement. Mandatory
SCHEDULE D2: Response Parameters
Form Field Description
LPSReply_pwd Password provided by merchant to LPS to authenticate return post fields.
Request_Id Request Id generated for the recredit request.
LPS_refund_id Refund Id generated for the recredit request.
RefundSubmit_status The status of the recredit request. See codes below.
Bank_status The submitted status of payback in LPS

Sample Request for Wires
merchant_refund_id=Test_wires_live&Merchant_pwd=test&merchant_ref_number=lpstest123&payment_reference=testreference&firstname=Thirlok&bill_zip=test123&refund_type=8&bill_firstname=&bill_city=test&Wire_PaymentType=Standard&lastname=Shankar&bill_address1=SouthBankHouse&bill_address2=&phone=&Cust_BankName=testbank&Cust_SortCode=&Cust_BankSwiftCode=&Cust_BankCode=&Cust_BankAddress1=testadd1&Cust_BankAddres2=&Cust_BankCity=Belgium&Cust_BankState=ss&cust_BankZip=se123&Cust_BankCountry=GB&wire_category=1&email=&bill_lastname=&Cust_IntermediaryBankName=&Cust_IntermediaryAccountIBAN=&Cust_IntermediaryBankSwiftCode=&Cust_IntermediaryBankAddress1=&Cust_IntermediaryBankAddres2=&Cust_IntermediaryBankCity=&Cust_IntermediaryBankState=&cust_IntermediaryBankZip=&Cust_IntermediaryBankCountry=&bill_state=&wire_type=1&Refund_Amount=1&bill_country=GB&Cust_AccountName=&Cust_AccountNumber=&Cust_AccountIBAN=&Refund_Currency=GBP&Settle_Currency=USD&refund_commen=&Cust_dateofbirth=04/03/2022&Wire_Direction=B

Sample Response for Wires
LPSReply_pwd=test123&LPS_refund_id=23042&Request_Id=23042&RefundSubmit_status=0&Bank_status=

Wire status Update API

There are three different ways to update wires that are in a pending status:

  • Individual Wire Status update request. The merchant will make a call to request an update on the status of each pending wire.
  • Wire status broadcast. The Latpay Gateway will push a Wire status batch update every day at around 14.30 (GMT/BST) to a URL that has been provided by the merchant.
  • Wire Batch Status update request. The merchant will make a call to request a batch update on the status of all pending wires. Therefore, all pending wires will be updated in one request
Individual Wire Status update request
SCHEDULE D3: INPUT PARAMETERS
Field Description Required/Optional Data Type Len
merchant_refund_id Merchant account user id provided by LPS Required String 50
merchant_pwd Merchant account password provided by LPS Required String 50
merchant_ref_number Merchant generated reference number Required alphanumeric 50
refund_id Returned from LPS on Wires request Required Int 8
refund_currency Wires requested currency Required String 4
refund_amount Wires requested amount Required 2 decimal places
SCHEDULE D4: OUTPUT PARAMETERS
Field Description
LPSReply_pwd Password provided by merchant to LPS to authenticate return post fields
LPS_refund_id Returned from LPS on Wires request
Merchant_ref_number Merchant generated reference number
Refund_amount Wires requested amount
ProcessedDate Date of wires processed at bank in format of “dd/mm/yyyy”
Refund_currency Wires requested currency
WiresCheck_Id Unique ID generated for the status check request
WiresCheck_status The status of Wires status check request (see table below)
RefundSubmit_status The submitted status of Wires in LPS [SCHEDULE A4: RESPONSE CODES ON PAGE 12]
Bank_status The settlement status of Wires in LPS. [SCHEDULE A4: RESPONSE CODES ON PAGE 12]
Reason Bank decline reason if wire rejected
SCHEDULE D5: Wires Check Status Description
WiresCheck_status Description
0 Status check request completed. Please check refund submit status and bank status for the final status of the Wire
4001 Merchant login details incorrect
4002 Merchant recredit account is not active
4003 Wire request not found
9001 Required mandatory field is missing in the Wire status check request
9000 System error while processing the Wire status check request. Please contact LPS



Sample Request for accepted wire
merchant_refund_id=test_wires&merchant_pwd=test&merchant_ref_number=lpstest123&refund_id=22965&refund_amount=2&refund_currency=GBP

Sample response for accepted wire
LPSReply_pwd=test123&LPS_refund_id=22965&Merchant_ref_numbe=lpstest123&Refund_amount=2&Processeddate=27/05/2022&Refund_currency=GBP&WiresCheck_Id=29708&WiresCheck_status=0&RefundSubmit_status=0&Bank_status=00&Reason=””

Wire Status Broadcast

The Latpay Gateway will push a Wire status batch update every day at around 14.30 (GMT/BST) to a notification URL that has been provided by the merchant. It is sent as a standard HTTP POST request and contains the fields as below. The notification is in a JSON format which contains the batch of wires processed on that day. The merchant will provide the notification URL to Latpay during integration.

LPS treats a Push notification as successfully received by the merchant’s server if:

  • The response is received within 60 seconds after initiating the connection.
  • A HTTP OK (200) is received.
  • The document body contains the content: RECEIVED OK
SCHEDULE D6: Wires Status Broadcast Output Parameters
Field Description
Description Returned from LPS on Wires request
Merchant_ref_number Merchant generated reference number
Refund_amount Wires requested amount
Processeddate Date of wires processed at bank in format of “dd/mm/yyyy”
Refund_currency Wires requested currency
RefundSubmit_status The submitted status of wires in LPS. Please refer schedule E1.
Bank_status The settlement status of Wires in LPS.
Reason Bank decline reason if wires is rejected



Sample of a push notification:

{
“headers": [ 
{
"MerchantAccount": "Test_Wires",
"countOfTransaction": 3
}
],
"details": [ 
{
"LPS_refund_id": "22970",
"Merchant_ref_number": "lpstest123",
"Refund_amount": "1.00", “Processeddate”:”27/05/2022”,
"Refund_currency": "GBP", "RefundSubmit_status": "0",
"Bank_status": "00"
"Reason": ""
} 
,
{
 "LPS_refund_id": "22986",
 "Merchant_ref_number": "lpstest123",
 "Refund_amount": "1.00",
 
“Processeddate”:”27/05/2022”,
"Refund_currency": "GBP",
"RefundSubmit_status": "0",
"Bank_status": "00"
“Reason” : “”
 
}
,
{
 "LPS_refund_id": "22985",
 "Merchant_ref_number": "lpstest123",
 "Refund_amount": "1.00",
 “Processeddate”:”27/05/2022”,
 "Refund_currency": "GBP",
 "RefundSubmit_status": "0",
 "Bank_status": "00"
 “Reason”: ””
 }
] }
Wire Batch Status update request

The merchant will make a call to request a batch update on the status of all pending wires. Therefore, all pending wires will be updated in one request. Any Batch request date can be sent, and a confirmation of the wires processed in the batch on that date will be provided. To update the current pending wires, today’s date would be sent after 2pm (BST/GMT)

SCHEDULE D7: Wires Batch Status Update Input Parameters
Field Description Required/Optional Data Type Len
merchant_refund_id Merchant account user id provided by LPS Required String 50
merchant_pwd Merchant account password provided by LPS Required String 50
Batchrequestdate Wires processed at Bank. Date in format “dd/mm/yyyy” Required String 50
SCHEDULE D8: Wires Batch Status Update Output Parameters
Field Description
LPS_refund_id Returned from LPS on Wires request
Merchant_ref_number Merchant generated reference number.
Processeddate Date of wires processed at bank in format of “dd/mm/yyyy”
Refund_amount Wires requested amount
Refund_currency Wires requested currency
RefundSubmit_status The submitted status of Wires in LPS [SCHEDULE A4: RESPONSE CODES ON PAGE 12]
Bank_status The settlement status of Wires in LPS. [SCHEDULE A4: RESPONSE CODES ON PAGE 12]
Reason Bank decline reason if wire rejected



Sample Request for Wire Batch Status update
merchant_refund_id=test_wires&merchant_pwd=test& Batchrequestdate=”01/05/2022”

Sample response for Wire Batch Status update

{
“headers": [
{
"MerchantAccount": "Test_Wires",
"countOfTransaction": 3
}
],
"details": [
{
"LPS_refund_id": "22970",
"Merchant_ref_number": "lpstest123",
“Processeddate”:”27/05/2022”,
"Refund_amount": "1.00",
"Refund_currency": "GBP",
"RefundSubmit_status": "0",
"Bank_status": "00"
"Reason": ""
} ,
{
 "LPS_refund_id": "22986",
 "Merchant_ref_number": "lpstest123",
 “Processeddate”:”27/05/2022”,
 "Refund_amount": "1.00",
 "Refund_currency": "GBP",
 "RefundSubmit_status": "0",
 "Bank_status": "00"
 "Reason": ""
 },
{
 "LPS_refund_id": "22985",
 "Merchant_ref_number": "lpstest123",
 “Processeddate”:”27/05/2022”,
 "Refund_amount": "1.00",
 "Refund_currency": "GBP",
 "RefundSubmit_status": "0",
 "Bank_status": "00"
 "Reason": ""
 }
] }

GENERAL RULES

To cancel an authorised transaction:

  • Submit the correct value in the LPS_transaction_id and merchant_ref_number fields.
  • Make sure the transaction is not past the cut-off date for its scheduled payment cycle.
  • Set “refund_type” post variable as either 3 or 4.

To refund a settled transaction:

  • To refund a settled transaction:
  • Make sure the transaction value is not more than allowed limit per OCT transaction. Also make sure that the daily limit on that card number hasn’t been exceeded either. Please contact LPS for OCT transaction limits.
  • Set “refund_type” post variable as 5.

To send a Wires payment:

  • Submit the correct value in Merchant_ref_number and billing fields
  • Make sure the transaction value is not more than allowed limit per wires transaction. Also make sure that the daily limit on that account hasn’t been exceeded either. Please contact LPS for wires transaction limits.
  • Set “refund_type” post variable as 8.
INFORMATION TO BE SUPPLIED BY THE MERCHANT

The password used for authentication on the return post from the LPS server to the merchant server.

APPENDIX E: REFUND SUBMIT STATUS & BANK STATUS
SCHEDULE E1: Refund Submit Status
Refundsubmit_Status Description
0 If request – Successfully accepted by LPS.
4001 Merchant login details incorrect.
4002 Merchant recredit account is not active
4003 LPS transaction id is invalid / not found.
4004 Transaction has already been cancelled / fully refunded.
4005 Recredit request amount is invalid.
4006 Partial Recredit request disallowed***.
4007 Refund type invalid.
4008 Transaction cannot be cancelled, past cut off period.
4009 Transaction cannot be refunded as within the cancellation period – send cancellation request***.
4010 Transaction cannot be refunded, past cut off period***.
4011 Recredit value greater than allowed limit. Please contact LPS.
4012 Recredit value to the card exceeded per day limit. Please contact LPS.
4014 Invalid OCT currency.
4015 Invalid card issuing country.
4016 Invalid card type
4017 Duplicate Merchant Reference Number disallowed / Reference number must be unique
4020 Card type disallowed for requested refund type***.
4021 Card issued corresponds to banned country list. Recredit disallowed.
4022 Card issued corresponds to banned bin list. Recredit disallowed.
4023 Fee deduction failed. Please contact LPS.
4024 Invalid expiry details.
4025 No purchase on card at bank.
4030 Invalid account number
4031 Invalid sort code
4032 Insufficient balance to process recredit request
4033 Invalid Payment direction.
4034 Invalid Wire type.
4035 Wire type not enabled for recredit account.
4036 Invalid Wire Currency.
4037 Wires Customer Block.
4038 Wires Bill country not allowed for merchant.
4039 Wires Bank country not allowed for merchant.
4040 Wires Country is blocked by Counterparty.
4041 Bank Country block requested by Merchant.
9001 Required mandatory field missing in the recredit request.
9000 System error while processing the recredit request. Please contact LPS.
9009 Account not enabled for SCSS
9010 SCSS token not found or error.
90 Communication Failure. Please contact LPS



*** The rules for these codes are governed by the bank gateway through which the original authorization transaction was processed.

SCHEDULE E2: Bank Status
Bank_Status*** Description
00 Recredit accepted by bank.
05 Recredit rejected by bank.
07 Insufficient balance to process recredit request. Recredit in pending
90 Communication Failure. Please contact LPS.



*** Depending upon how your recredit account is configured, the “Bank_status” may also be returned empty instead of any of the above values. In that scenario, if “Refund Submit_status” is 0 and “Bank_Status” is empty, then it implies request accepted by LPS but pending submission to bank. If “Refund Submit_status” is NOT 0, then “Bank_status” will always be empty, implying that the request has failed LPS checks

Information from Merchant

Information to be supplied by the merchant


The password used for authentication on the return post from the LPS server to the merchant server.
Posting Parameters

SCHEDULE A1: POSTING PARAMETERS


Form Field Description Details
merchant_refund_id LPS Provided value. It will be used to process refunds on all sites in your group, so if you have multiple authorisation accounts (merchant_user_id’s) with LPS, then this single merchant_refund_id will be used to process refunds for the entire group Mandatory
merchant_pwd Password used for authenticating the refund account Mandatory
refund_type This field indicates the type of refund. It should contain one of the following depending on the request: 1 – Standard Refund 2 – Fraud Refund 3 – Standard Cancellation 4 – Fraud Cancellation 5 - OCT 6 – Bacs 7- Faster Payments 8 – Wires 9 - BacsPay (bureau processing) Mandatory
lps_transaction_id Original LPS transaction id of the authorisation transaction you wish to refund/void. Conditional (Only for refund_type 1 to 4)
merchant_ref_number Merchant Reference number generated and sent to LPS by merchant with the original authorisation. NB: This should match only for refunds/voids. Mandatory
firstname Customer First Name Conditional (Only for refund_type 5,6,7,8,9)
lastname Customer Last Name Conditional (Only for refund_type 5,6,7,8,9)
phone Customer Phone Optional (Only for refund_type 5,6,7,8,9)
email Customer Email Optional (Only for refund_type 5,6,7,8,9)
bill_firstname Billing Customer First Name Conditional (Only for refund_type 5,6)
bill_lastname Billing Customer Last Name Conditional (Only for refund_type 5,6)
bill_address1 Billing Customer first line address Conditional (Only for refund_type 5,6,8)
bill_address2 Billing Customer second line address Optional (Only for refund_type 5,6,8)
bill_city Billing Customer city Conditional (Only for refund_type 5,6,8)
bill_state Billing Customer state Optional (Only for refund_type 5,6,8)
bill_zip Billing Customer zip Conditional (Only for refund_type 5,6,8)
bill_country Billing customer country in ISO 2-digit alpha format Conditional (Only for refund_type 5,6,8)
pan Card Number Conditional (Only for refund_type 5,6)
pan_expmo Card expiry month in format mm Conditional (Only for refund_type 5,6)
pan_expyr Card expiry year in format yyyy Conditional (Only for refund_type 5,6)
pan_startmo Card start month in format mm Optional (Only for refund_type 5,6)
pan_startyr Card start year in format yyyy Optional (Only for refund_type 5,6)
pan_type Card type should contain one of the following values: VISA MAST SWITCH SOLO DELTA AMEX MAESTRO (Case sensitive, upper case only) Conditional (Only for refund_type 5,6)
pan_issue Card issue number Optional (Only for refund_type 5,6)
refund_currency Transaction Currency in ISO 3- digit alpha format Conditional (Only for refund_type 5,6,7,8,9)
refund_amount Transaction amount with two decimal places only Conditional (Only for refund_type 5,6,7,8,9)
refund_comment The reason or any note which needs to be added to the recredit request. NB: mandatory in case of fraud refunds. It’s a free text and ideally should indicate why the transaction is deemed fraud. Optional*** ***Mandatory for fraud refunds.
scsscheck Flag to indicate if SCSS is required. Values: Y, N, D Y: Yes; N: No; [default if not sent] D: Done, token posted with the request. Conditional*** (Only for refund_type 5,6. Only if SCSS options are required). ***If set to Y or N, then crdStr_token field will be ignored even if sent.
crdstrg_token Unique card details identifier from LPS SCSS system Conditional*** (Only for refund_type 5,6. Only if scsscheck is set to D) ***If this field is not sent and scsscheck is set to D, a 9010 error code will occur.
cust_bankname Customer’s Bank Name Conditional (Only for refund_type 8)
cust_accountname Customer’s Account Name Conditional (Only for refund_type 7,8,9)
cust_sortcode Customer’s Sort Code Conditional (Only for refund_type 7,9)
cust_accountnumber Customer’s Account Number Conditional** (Only for refund_type 7,8,9) **Ignored, if cust_accountiban posted for refund_type 8
cust_accountiban Customer’s Account IBAN Conditional (Only for refund_type 8)
cust_bankswiftcode Customer’s Bank Swift Code Conditional (Only for refund_type 8)
cust_bankcode Customer’s Bank Code Optional (Only for refund_type 8)
cust_bankaddress1 Customer’s Bank Address line1 Conditional (Only for refund_type 8)
cust_bankaddress2 Customer’s Bank Address line2 Optional (Only for refund_type 8)
cust_bankcity Customer’s Bank city Conditional (Only for refund_type 8)
cust_bankstate Customer’s Bank state Optional (Only for refund_type 8)
cust_bankzip Customer’s Bank zipcode Conditional (Only for refund_type 8)
cust_bankcountry Customer’s Bank country in ISO 2-digit alpha format Conditional (Only for refund_type 8)
cust_intermediarybankname Customer’s Intermediary Bank Name Optional (Only for refund_type 8)
cust_intermediaryaccountiban Customer’s Intermediary Account IBAN Optional (Only for refund_type 8)
cust_intermediarybankswiftcode Customer’s Intermediary Bank Swift Code Optional (Only for refund_type 8)
cust_intermediarybankaddress1 Customer’s Intermediary Bank Address line1 Optional (Only for refund_type 8)
cust_intermediarybankaddress2 Customer’s Intermediary Bank Address line2 Optional (Only for refund_type 8)
cust_intermediarybankcity Customer’s Intermediary Bank city Optional (Only for refund_type 8)
cust_intermediarybankstate Customer’s Intermediary Bank state Optional (Only for refund_type 8)
cust_intermediarybankzip Customer’s Intermediary Bank zipcode Optional (Only for refund_type 8)
cust_intermediarybankcountry Customer’s Intermediary Bank country in ISO 2-digit alpha format Optional (Only for refund_type 8)
settle_currency Settlement Currency Code in ISO 3-digit alpha format Conditional (Only for refund_type 8)
wire_direction The direction of wire transfer currency exchange trade. Values: S; B S: Sell; B: Buy Conditional (Only for refund_type 8)
wire_paymenttype Wire payment type. Values: Standard; Express Standard: Normal transfer which can take upto 3 days; Express: Next day transfer*** *** Business working day for both request received and processed Conditional (Only for refund_type 8)
wire_type Wire type. Values: 1: Standard Wires. 2: Salary Wires. 3: Invoice Wires. 4: Affiliates Wires. if not posted, default value: 1 Conditional (Only for refund_type 8)
payment_reference Payment reference to be shown on customer bank account statement. Conditional (Only for refund_type 7,8,9)
realtime Flag to indicate if transaction is to be checked in realtime *** Conditional (Only for refund type 1, 2, 3, 4)

*** Please see section above on “REALTIME PROCESSING”

OCT Status Checking

All recredit status can be checked in the LPS Hub reporting portal. However, the LPS recredits gateway also provides an API call to check the status of OCT’s submitted. This API call can be used to check in the event of communication failures on original OCT submissions. Or if the merchant wishes to check the status of OCT’s, or if they would like to know if the OCT is fully settled after being accepted by LPS initially.

Posting Parameters

SCHEDULE B1: POSTING PARAMETERS


Form Field Description Details
merchant_refund_id LPS Provided value Mandatory
merchant_pwd Password used for authenticating the refund account Mandatory
merchant_ref_number Merchant Reference number sent along with the original OCT request Mandatory
refund_currency Transaction Currency in ISO 3-digit alpha format Mandatory
refund_amount Transaction amount with two decimal places only Mandatory
card_bin Card number bin (first 6 digits) Mandatory
card_last4 Card number last 4 digits Mandatory
Response Parameters
Form Field Description
LPSReply_pwd Password provided by merchant to LPS to authenticate return post fields
PaybackStatusCheckId Unique ID generated for the status check request
PaybackStatusCheck_status The status of OCT status check request
Request_Id Request Id generated for the recredit request
LPS_refund_id Refund Id generated for the recredit request
RefundSubmit_status The submitted status of OCT in LPS. Please refer schedule A4
Bank_status The settlement status of OCT in LPS. Please refer schedule A4
Response Parameters
SCHEDULE A2: Response Parameters

Form Field Description
LPSReply_pwd Password provided by merchant to LPS to authenticate return post fields.
Request_Id Request Id generated for the recredit request.
LPS_refund_id Refund Id generated for the recredit request.
RefundSubmit_status The status of the recredit request. See codes below.
Bank_status The submitted status of payback in LPS.
Additional Response Parameters
SCHEDULE A3: Additional Response Parameters

Depending on the merchant's account setup status, LPS Recredits API gateway can respond additional fields in addition to the fields specified in the "schedule A2" which is the response to confirm the results of the transaction. These fields will NOT be enabled by default and cannot be guaranteed to be returned even if enabled. Depending on the outcome of the transaction and on the gateway on which the merchant is setup, these fields can be returned. LPS will continue to add these additional response fields as required in future releases/upgrades of the gateway. If merchants wish to get these fields returned, they would need to contact LPS to get their accounts configured.

Form Field Description
merchant_ref_number Returned merchant’s reference number
cardbin First 6 digit of customer card
cardlast4 Last 4 digit of customer card
Rules

To cancel an authorised transaction


  • Submit the correct value in the LPS_transaction_id and merchant_ref_number fields.
  • Make sure the transaction is not past the cut-off date for its scheduled payment cycle.
  • Set “refund_type” post variable as either 3 or 4.

To refund a settled transaction


  • Submit the correct value in the LPS_transaction_id and merchant_ref_number fields.
  • Make sure the transaction is already settled and transaction is not older than 90 days.
  • Set “refund_type” post variable as either 1 or 2.

To send a OCT payment


  • Submit the correct value in Merchant_ref_number and billing fields.
  • Make sure the transaction value is not more than allowed limit per OCT transaction. Also make sure that the daily limit on that card number hasn’t been exceeded either. Please contact LPS for OCT transaction limits.
  • Set “refund_type” post variable as 5.

To send a Bacs payment


  • Submit the correct value in Merchant_ref_number and billing fields.
  • Make sure the transaction value is not more than allowed limit per Bacs transaction. Also make sure that the daily limit on that card number hasn’t been exceeded either. Please contact LPS for Bacs transaction limits.
  • Set “refund_type” post variable as 6.

To send a Wires payment


  • Submit the correct value in Merchant_ref_number and billing fields.
  • Make sure the transaction value is not more than allowed limit per wires transaction. Also make sure that the daily limit on that account hasn’t been exceeded either. Please contact LPS for wires transaction limits.
  • Set “refund_type” post variable as 8.

To send a BacsPay payment


  • Submit the correct value in Merchant_ref_number and billing fields.
  • Make sure the transaction value is not more than allowed limit per bacspay transaction. Also make sure that the daily limit on that account hasn’t been exceeded either. Please contact LPS for bacs bureau transaction limits.
  • Set “refund_type” post variable as 9.

To send a FasterPayment payment


  • Submit the correct value in Merchant_ref_number and billing fields. Make sure payment_reference is set.
  • Make sure the transaction value is not more than allowed limit per FP transaction. Also make sure that the daily limit on that account hasn’t been exceeded either. Please contact LPS for FasterPayment transaction limits. - Set “refund_type” post variable as 7.
LPS Standard Codes
ISO Currency Codes
Currency Code
Afghanistan Afghani AFN
Albanian Lek ALL
Algerian Dinar DZD
Angolan Kwanza AOA
Arab Emirates Dirham AED
Argentine Peso ARS
Armenian Dram AMD
Aruban Guilder AWG
Australian Dollar AUD
Azerbaijan New Manat AZN
Bahamian Dollar BSD
Bahraini Dinar BHD
Bangladeshi Taka BDT
Barbados Dollar BBD
Belarussian Ruble BYR
Belize Dollar BZD
Bermudian Dollar BMD
Bhutan Ngultrum BTN
Boliviano BOB
Botswana Pula BWP
Brazilian Real BRL
Brunei Dollar BND
Bulgarian Lev BGN
Burundi Franc BIF
Canadian Dollar CAD
Cape Verde Escudo CVE
Cayman Islands Dollar KYD
CFA Franc BCEAO XOF
CFA Franc BEAC XAF
CFP Franc XPF
Chilean Peso CLP
Colombian Peso COP
Comoros Franc KMF
Costa Rican Colon CRC
Croatian Kuna HRK
Cuban Peso CUP
Czech Koruna CZK
Danish Krone DKK
Denar MKD
Dinar RSD
Djibouti Franc DJF
Dobra STD
Dominican Peso DOP
East Caribbean Dollar XCD
East Carribean Dollar XCD
Ecuador Sucre ECS
Egyptian Pound EGP
El Salvador Colon SVC
Eritrean Nakfa ERN
Ethiopian Birr ETB
Euro EUR
Falkland Islands Pound FKP
Fiji Dollar FJD
Francs CDF
Gambian Dalasi GMD
Georgian Lari GEL
Ghanaian Cedi GHS
Gibraltar Pound GIP
Guatemalan Quetzal QTQ
Guinea Franc GNF
Guinea-Bissau Peso GWP
Guyana Dollar GYD
Haitian Gourde HTG
Honduran Lempira HNL
Hong Kong Dollar HKD
Hungarian Forint HUF
Iceland Krona ISK
Indian Rupee INR
Indonesian Rupiah IDR
Iranian Rial IRR
Iraqi Dinar IQD
Israeli New Shekel ILS
Jamaican Dollar JMD
Japanese Yen JPY
Jordanian Dinar JOD
Kampuchean Riel KHR
Kazakhstan Tenge KZT
Kenyan Shilling KES
Korean Won KRW
Kuwaiti Dinar KWD
Lao Kip LAK
Latvian Lats LVL
Lebanese Pound LBP
Lesotho Loti LSL
Liberian Dollar LRD
Libyan Dinar LYD
Lithuanian Litas LTL
Macau Pataca MOP
alagasy Franc MGF
Malawi Kwacha MWK
Malaysian Ringgit MYR
Maldive Rufiyaa MVR
Manat TMT
Marka BAM
Mauritanian Ouguiya MRO
Mauritius Rupee MUR
Mexican Nuevo Peso MXN
Moldovan Leu MDL
Mongolian Tugrik MNT
Moroccan Dirham MAD
Mozambique Metical MZN
Myanmar Kyat MMK
Namibian Dollar NAD
Nepalese Rupee NPR
Netherlands Antillean Guilder ANG
New Zealand Dollar NZD
Nicaraguan Cordoba Oro NIO
Nigerian Naira NGN
North Korean Won KPW
Norwegian Krone NOK
Omani Rial OMR
Pakistan Rupee PKR
Panamanian Balboa PAB
Papua New Guinea Kina PGK
Paraguay Guarani PYG
Peruvian Nuevo Sol PEN
Philippine Peso PHP
Polish Zloty PLN
Pound Sterling GBP
Pound Sterling GGP
Qatari Rial QAR
Romanian New Leu RON
Russian Ruble RUB
Rwanda Franc RWF
Samoan Tala WST
Saudi Riyal SAR
Seychelles Rupee SCR
Sierra Leone Leone SLL
Singapore Dollar SGD
Solomon Islands Dollar SBD
Som KGS
Somali Shilling SOS
South African Rand ZAR
South Sudan Pound SSP
Sri Lanka Rupee LKR
St. Helena Pound SHP
Sudanese Pound SDG
Surinam Dollar SRD
Swaziland Lilangeni SZL
Swedish Krona SEK
Swiss Franc CHF
Syrian Pound SYP
Taiwan Dollar TWD
Tajik Somoni TJS
Tanzanian Shilling TZS
Thai Baht THB
Tongan Pa anga TOP
Trinidad and Tobago Dollar TTD
Tunisian Dollar TND
Turkish Lira TRY
Uganda Shilling UGX
Ukraine Hryvnia UAH
Uruguayan Peso UYU
US Dollar USD
Uzbekistan Sum UZS
Vanuatu Vatu VUV
Venezuelan Bolivar VEF
Vietnamese Dong VND
Yemeni Rial YER
Yuan Renminbi CNY
Zambian Kwacha ZMW
Zimbabwe Dollar ZWD
ISO Country codes
Country Code
AFGHANISTAN AF
ÅLAND ISLANDS AX
ALBANIA AL
ALDERNEY
ALGERIA (El Djazaïr) DZ
AMERICAN SAMOA AS
ANDORRA AD
ANGOLA AO
ANGUILLA AI
ANTARCTICA AQ
ANTIGUA AND BARBUDA AG
ARGENTINA AR
ARMENIA AM
ARUBA AW
ASCENSION ISLAND
AUSTRALIA AU
AUSTRIA AT
AZERBAIJAN AZ
BAHAMAS BS
BAHRAIN BH
BANGLADESH BD
BARBADOS BB
BELARUS BY
BELGIUM BE
BELIZE BZ
BENIN BJ
BERMUDA BM
BHUTAN
BOLIVIA BO
BOSNIA AND HERZEGOVINA BA
BOTSWANA BW
BOUVET ISLAND BV
BRAZIL BR
BRITISH INDIAN OCEAN TERRITORY IO
BRUNEI DARUSSALAM BN
BULGARIA BG
BURKINA FASO BF
BURUNDI BI
CAMBODIA KH
CAMEROON CM
CANADA CA
CAPE VERDE CV
CAYMAN ISLANDS KY
CENTRAL AFRICAN REPUBLIC CF
CHAD (Tchad) TD
CHANNEL ISLANDS
CHILE CL
CHINA CN
CHRISTMAS ISLAND CX
COCOS (KEELING) ISLANDS CC
COLOMBIA CO
COMOROS KM
CONGO, REPUBLIC OF CG
CONGO, THE DEMOCRATIC REPUBLIC OF THE (formerly Za CD
COOK ISLANDS CK
COSTA RICA CR
CÔTE D’IVOIRE (Ivory Coast) CI
CROATIA (Hrvatska) HR
CUBA CU
CYPRUS CY
CZECH REPUBLIC CZ
DENMARK DK
DJIBOUTI DJ
DOMINICA DM
DOMINICAN REPUBLIC DO
ECUADOR EC
EGYPT EG
EL SALVADOR SV
EQUATORIAL GUINEA GQ
ERITREA ER
ESTONIA EE
ETHIOPIA ET
FAEROE ISLANDS FO
FALKLAND ISLANDS (MALVINAS) FK
FIJI FJ
FINLAND FI
FRANCE FR
France, Metropolitan FX
FRENCH GUIANA GF
FRENCH POLYNESIA PF
FRENCH SOUTHERN TERRITORIES TF
GABON GA
GAMBIA, THE GM
GEORGIA GE
GERMANY (Deutschland) DE
GHANA GH
GIBRALTAR GI
GREAT BRITAIN GB
GREECE GR
GREENLAND GL
GRENADA GD
GUADELOUPE GP
GUAM GU
GUATEMALA GT
GUERNSEY GG
GUINEA GN
GUINEA-BISSAU GW
GUYANA GY
HAITI HT
HEARD ISLAND AND MCDONALD ISLANDS HM
HONDURAS HN
HONG KONG (Special Administrative Region of China) HK
HUNGARY HU
ICELAND IS
INDIA IN
INDONESIA ID
IRAN (Islamic Republic of Iran) IR
IRAQ IQ
IRELAND IE
ISLE OF MAN IM
ISRAEL IL
ITALY IT
JAMAICA JM
JAPAN JP
JERSEY JE
JERSEY JE
JORDAN (Hashemite Kingdom of Jordan) JO
KAZAKHSTAN KZ
KENYA KE
KIRIBATI KI
KOREA (Democratic People’s Republic of [North] Kore KP
KOREA (Republic of [South] Korea) KR
KUWAIT KW
KYRGYZSTAN KG
LAO PEOPLE’S DEMOCRATIC REPUBLIC LA LATVIA LV
LEBANON LB
LESOTHO LS
LIBERIA LR
LIBYA (Libyan Arab Jamahirya) LY
LIECHTENSTEIN (Fürstentum Liechtenstein) LI
LITHUANIA LT
LUXEMBOURG LU
MACAO (Special Administrative Region of China) MO
MACEDONIA (Former Yugoslav Republic of Macedonia) MK
MADAGASCAR MG
MALAWI MW
MALAYSIA MY
MALDIVES MV
MALI ML
MALTA MT
MARSHALL ISLANDS MH
MARTINIQUE MQ
MAURITANIA MR
MAURITIUS MU
MAYOTTE YT
MEXICO MX
MICRONESIA (Federated States of Micronesia) FM
MOLDOVA MD
MONACO MC
MONGOLIA MN
MONTSERRAT MS
MOROCCO MA
MOZAMBIQUE (Moçambique) MZ
MYANMAR (formerly Burma) MM
NAMIBIA NA
NAURU NR
NEPAL NP
NETHERLANDS NL
NETHERLANDS ANTILLES AN
NEW CALEDONIA NC
NEW ZEALAND NZ
NICARAGUA NI
NIGER NE
NIGERIA NG
NIUE NU
NORFOLK ISLAND NF
NORTHERN MARIANA ISLANDS MP
NORWAY NO
OMAN OM
PAKISTAN PK
PALAU PW
PALESTINIAN TERRITORIES PS
PANAMA PA
PAPUA NEW GUINEA PG
PARAGUAY PY
PERU PE
PHILIPPINES PH
PITCAIRN PN
POLAND PL
PORTUGAL PT
PUERTO RICO PR
QATAR QA
RÉUNION RE
ROMANIA RO
RUSSIAN FEDERATION RU
RWANDA RW
SAINT HELENA SH
SAINT KITTS AND NEVIS KN
SAINT LUCIA LC
SAINT PIERRE AND MIQUELON PM
SAINT VINCENT AND THE GRENADINES VC
SAMOA (formerly Western Samoa) WS
SAN MARINO (Republic of) SM
SAO TOME AND PRINCIPE ST
SAUDI ARABIA (Kingdom of Saudi Arabia) SA
SENEGAL SN
SERBIA AND MONTENEGRO (formerly Yugoslavia) CS
SEYCHELLES SC
SIERRA LEONE SL
SINGAPORE SG
SLOVAKIA (Slovak Republic) SK
SLOVENIA SI
SOLOMON ISLANDS SB
SOMALIA SO
SOUTH AFRICA (Zuid Afrika) ZA
SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS GS
SPAIN (España) ES
SRILANKA LK
SUDAN SD
SURINAME SR
SVALBARD AND JAN MAYEN SJ
SWAZILAND SZ
SWEDEN SE
SWITZERLAND (Confederation of Helvetia) CH
SYRIAN ARAB REPUBLIC SY
TAIWAN (“Chinese Taipei” for IOC) TW
TAJIKISTAN TJ
TANZANIA TZ
THAILAND TH
TIMOR-LESTE (formerly East Timor) TL
TOGO TG
TOKELAU TK
TONGA TO
TRINIDAD AND TOBAGO TT
TUNISIA TN
TURKEY TR
TURKMENISTAN TM
TURKS AND CAICOS ISLANDS TC
TUVALU TV
UGANDA UG
UKRAINE UA
UNITED ARAB EMIRATES AE
UNITED KINGDOM (Great Britain) GB
UNITED STATES US
UNITED STATES MINOR OUTLYING ISLANDS UM
URUGUAY UY
UZBEKISTAN UZ
VANUATU VU
VATICAN CITY(Holy See) VA
VENEZUELA VE
VIETNAM VN
VIRGIN ISLANDS ,BRITISH VG
VIRGIN ISLANDS, U.S. VI
WALLIS AND FUTUNA WF
WESTERN SAHARA (formerly Spanish Sahara) EH
YEMEN (Arab Republic) YE
ZAMBIA ZM
ZIMBABWE ZW
ISO State codes

US State Codes

State Code
ALABAMA AL
ALASKA AK
AMERICAN SAMOA AS
ARIZONA AZ
ARKANSAS AR
CALIFORNIA CA
COLORADO CO
CONNECTICUT CT
DELAWARE DE
DISTRICT OF COLUMBIA DC
FLORIDA FL
GEORGIA GA
GUAM GU
HAWAII HI
IDAHO ID
ILLINOIS IL
INDIANA IN
IOWA IA
KANSAS KS
KENTUCKY KY
LOUISIANA LA
MAINE ME
MARYLAND MD
MASSACHUSETTS MA
MICHIGAN MI
MINNESOTA MN
MISSISSIPPI MS
MISSOURI MO
MONTANA MT
NEBRASKA NE
NEVADA NV
NEW HAMPSHIRE NH
NEW JERSEY NJ
NEW MEXICO NM
NEW YORK NY
NORTH CAROLINA NC
NORTH DAKOTA ND
NORTHERN MARIANA ISLANDS MP
OHIO OH
OKLAHOMA OK
OREGON OR
PENNSYLVANIA PA
PUERTO RICO PR
RHODE ISLAND RI
SOUTH CAROLINA SC
SOUTH DAKOTA SD
TENNESSEE TN
TEXAS TX
UTAH UT
VERMONT VT
VIRGIN ISLANDS VI
VIRGINIA VA
WASHINGTON WA
WEST VIRGINIA WV
WISCONSIN WI
WYOMING WY

Canada State Codes

State Code
ALBERTA AB
BRITISH COLUMBIA BC
MANITOBA MB
NEW BRUNSWICK NB
NEWFOUNDLAND NF
NORTHWEST TERRITORIES NT
NOVA SCOTIA NS
ONTARIO ON
PRINCE EDWARD ISLAND PE
QUEBEC QC
SASKATCHEWAN SK
YUKON TERRITORY YT

*** For other currencies, please check ISO website.