Addon Payments
In this section you will find all the information required to be able to integrate AddonPayments payments platform to your website. Accept payments with cards, wallets, and many local payment methods on your website and mobile app.
Give your shoppers the option to pay with their preferred payment method, all with a great payment user experience. With AddonPayments you can:
Dynamically offer payment methods based on transaction details such as country code, currency, or any other parameter you can define. Choose how to integrate based on your customization requirements. Store preferred shoppers payment methods to maximize conversion. Everything is ready to start accepting online payments but first,
AddonPayments offer different integrations which will enable you to achieve different payment user experiences.
Take into account the customisation details you want to achieve to choose wisely the best fitting path for you. Select an integration option to and we will tell you more about our PCI-compliant solution:
AddonPayments JavaScript
Seamless payments experience with maximum customization options
AddonPayments HostedPayments
Secure and out of the box User Interface ready to accept payments.
Plugin integrations
Use our plugins to accept payments on leading technology platforms such as:
- Prestashop
- Magento
- WooCommerce
Or you can refer to our AddonPayments API reference for full control on the User Interface and User Experience.
First of all its important to choose which integration type fits your purposes and after that we really recommend you to register to our platform to access the backoffice and Conection keys.
Onboarding
During the onboarding process, AddonPayments will send you credentials and whitelist your IP addresses and domains that you will use to communicate with the AddonPayments backend. You must provide EPG with the following information:
- IP Addresses - The IP addresses of the backend servers in your production environment.
- Domains - The domain names of your front end systems. AddonPayments supports multiple domains for your development, testing, and production environments.
AddonPayments Hosted integration provides a hosted payment form and a set of REST API resources for accepting payments on your website, managing recurring payments and previous transactions, and running reports. This documentation describes how to set up and use the EPG Hosted integration and defines the available REST API endpoints in detail. All requests to the AddonPayments APIs must be encrypted. See the Encryption for details. Because the payment form is hosted by EPG, your business does not need to maintain PCI compliance or maintain up to date payment method definitions.
The AddonPayments Hosted integration provides a hosted payment form and a set of REST API resources for accepting payments on your website, managing recurring payments and previous transactions, and running reports. This documentation describes how to set up and use the AddonPayments Hosted integration and defines the available REST API endpoints in detail. All requests to the AddonPayments APIs must be encrypted. See the Encryption for details. Because the payment form is hosted by AddonPayments, your business does not need to maintain PCI compliance or maintain up to date payment method definitions.
in progress …
in progress …
in progress …
in progress …
Follow the steps below to perform a basic transaction using the AddonPayments Hosted Cashier integration. Each of these steps is described in detail in the corresponding sections of this documentation:
- Request the payment form - Build, encrypt, and POST a request to the Direct Payment endpoint. AddonPayments responds with a URL for the payment form that you will display in an iFrame or on a separate web page.
- Display the payment form - Display the payment form in an iFrame on your site by using the URL returned by AddonPayments in step one as the value for the src property, or redirect your customer to the URL. Your customer fills out the payment form and clicks submit.
- Handle the response - AddonPayments will return the transaction status to the statusURL you specified in the Direct Payment request. The response message from AddonPayments includes the transaction result.
- Final Customer Redirection - AddonPaymenys will redirect back the customer to one of the final url you specified in the Direct Payment request.
The image below illustrates the process:
The appearance of the payment form is fully customizable. See the Payment Form Customization section for details.
gdgfdgd
gfdg
Requesting a payment form requires you to build, encrypt, and send a POST request to the AddonPayments gateway. All requests to AddonPayments gateway must be encrypted for security. See the Encryption section for details.
The parameters required by AddonPayments change depending on the payment method your customer uses. See the AlternativePaymentMethods API docs for further detail. Use the sample code below to build a request string, encrypt the string, and submit it to the platform.
AddonPayments will validate the IP address that submits the request before attempting to decrypt and validate the payload.
Go to Request Payment Form for more information.
The Hosted Payment resource returns a URL for the payment form as a string in the response. Use an iFrame on your site to display the URL, or redirect your customer to the URL. The URL is returned as a string in the body of the response. The following URL is an example. The actual URL will be unique for your payment form:
https://checkout-stg.easypaymentgateway.com/EPGCheckout/rest/online/detokenizer/7586e75d-cdbb-415a-9267-f04dd6d7ff48
Remember to redirect your client to the url or to embed the url into an iFrame. The image below shows a basic, unformatted payment form:
<!DOCTYPE html>
<html>
<body>
<h1>Checkout Page</h1>
<iframe src="https://checkout-stg.easypaymentgateway.com/EPGCheckout/rest/online/detokenizer/7586e75d-cdbb-415a-9267-f04dd6d7ff48">
</iframe>
</body>
</html>
When your customer submits the payment, AddonPayments processes the transaction and sends the transaction status to the statusURL
you send in the request.
AddonPayments redirects your customer to the appropriate URL you sent in the request, depending on the transaction status.
Capture the transaction status and any other details you need to keep for your records or process transactions in the future.
Refer to the response payload, go to Response Fields section.
Once the payment has been completed, AddonPayments will redirect the custome to one of the final url fields that specified in the Request Payment Form section.
If you supplied values for the successURL
, errorURL
, cancelURL
or awaitingURL
parameters with your request, AddonPayments will redirect your customer to the appropriate site, based on the status of the transaction. This feature is useful for displaying customer-specific pages related to the response.
successURL
The URL of the site to display if the transaction is successful.
Hardly Recommended for Hosted Integration
errorURL
The URL of the site to display if the transaction fails or declines.
Hardly Recommended for Hosted Integration
cancelURL
The URL of the site to display if the customer cancels the transaction.
awaitingURL
the URL of the site to display when an external solution requires a asynchronous notification to confirm the status of the payment. For instance Bank payment.
AddonPayments allows customize the payment form sending some parameters in the Payment Form Request.
Go to Hosted Style Fields for more details.
Note: Remember to add these fields in the encryption parameters.
Custom CSS
AddonPayments makes it easy to customize the appearance of the payment form using a merchant’s CSS file. Mechant can create a CSS file that defines the look and feel for the different elements of the payment form and just need to report the cssURL parameter in the payment requests.
- Send the CSS file to AddonPayments.
- AddonPayments validates the CSS file for security and functionality. AddonPayments will work with you if your CSS file needs any modifications.
- AddonPayments applies the styles to the payment form when you display it.
You can define separate CSS files for each product you offer. AddonPayments uses the merchantId
and productId
parameters that you send with the Direct Payment request to link the CSS file to the payment form.
You can use any class names or other values in your CSS files. AddonPayments will work with you to make sure that the styles are applied to the payment form correctly.
// 1. Top logo
topLogo=https://merchant.com/top-logo.png
// 2. Checkout title
checkoutTitle=checkout title page
// 3. Checkout sub-title
subTitle=subtitle
// 4. Bottom logo
bottomLogo=https://merchant.com/bottom-logo.png
// 5. Font color, size and family
fontColour=#233691
fontSize=11
fontFamily=arial
// 6. background color
backgroundColor=#38a9e1
{merchantId}
&encrypted={encrypted}
&integrityCheck={integrityCheck}
{token}
&merchantId={merchantId}
&transactions={transactions}
=postback={postback}
&url={url}
{merchantId}
&encrypted={encrypted}
&integrityCheck={integrityCheck}
{merchantId}
&encrypted={encrypted}
&integrityCheck={integrityCheck}
Send a POST request to the /tokenize endpoint to request the payment form.
The encrypted variable must be encrypted. See the Encryption section for details.
Different payment methods may require different parameters. For instance, the following parameters are only used for credit card transactions: chAddress1, chAddress2, chCity, chPostCode, chCountry, chEmail, chFirstName, chLastName, chPhone, chState.
To make easy the integration, please use Online Tools to check the the intregration has done correctly.
Path variables
Unique identifier provided by AddonPayments to the merchant.
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Integrity check encryption. See the Encryption section for details.
Request headers
Used encryption mode (CBC). See the Encryption section for details.
Responses
Return the checkout URl where the merchant has to redirect the customer
Body
curl -X POST "/tokenize?merchantId=XXXXX&encrypted=YYYYY&integrityCheck=ZZZZZ" \
-H "apiVersion: 3" \
-H "encryptionMode: CBC" \
-H "iv: WWWWW"
HTTP/1.1 200 OK
Content-Type: application/json
https://checkout.stg-eu-west3.epgint.com/EPGCheckout/rest/online/detokenize?token=a2fa7a54-df9a-4e7d-ba38-c00d03b774de&apiVersion=3
{token}
&merchantId={merchantId}
&transactions={transactions}
=postback={postback}
&url={url}
Send a POST request to the /status endpoint to request the response status message returned by a previous transaction.
The payload must be encrypted. See the Encryption section for details.
Path variables
Hash MD5 of the following pattern:
{merchantId}.{merchant_transaction_ids}.{merchant_password_MD5Hashed}
Unique identifier provided by Easy Payment Gateway to the merchant.
List of the merchant transaction ids to check the status, separated by ‘;’
Flag that re-sends the status of the transaction to the original transaction status URL or to the url parameter, if this is sent.
Do NOT resend the transaction status
Re-Send the transaction status to the original statusURL
field
New Transaction status URL where AddonPayments will notify the transaction status
<operations>
<operation sorted-order="1">
<amount>1000.00</amount>
<currency>EUR</currency>
<details><?xml version="1.0" encoding="UTF-8"?><WIRECARD_BXML
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd"> <W_RESPONSE> <W_JOB> <JobID>Pay: 121500</JobID> <FNC_CC_PREAUTHORIZATION> <FunctionID>PreAuthorization: 121500</FunctionID> <CC_TRANSACTION> <TransactionID>1234565451</TransactionID> <PROCESSING_STATUS> <GuWID>C663888151732364718789</GuWID> <AuthorizationCode>366975</AuthorizationCode> <Info>THIS IS A DEMO TRANSACTION USING CREDIT CARD NUMBER 420000****0000. NO REAL MONEY WILL BE TRANSFERED.</Info> <StatusType>INFO</StatusType> <FunctionResult>ACK</FunctionResult> <TimeStamp>2018-01-30 15:47:27</TimeStamp> </PROCESSING_STATUS> </CC_TRANSACTION> </FNC_CC_PREAUTHORIZATION> </W_JOB> </W_RESPONSE></WIRECARD_BXML>
</details>
<merchantTransactionId>1234565451</merchantTransactionId>
<message>Success preauthorization waiting capture</message>
<operationType>DEBIT</operationType>
<optionalTransactionParams/>
<payFrexTransactionId>121500</payFrexTransactionId>
<paySolTransactionId>C663888151732364718789</paySolTransactionId>
<paymentDetails>
<extraDetails/>
</paymentDetails>
<paymentSolution>wirecard</paymentSolution>
<status>PENDING</status>
</operation>
<operation sorted-order="2">
<amount>1000.00</amount>
<currency>EUR</currency>
<details><?xml version="1.0" encoding="UTF-8"?><WIRECARD_BXML
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd"> <W_RESPONSE> <W_JOB> <JobID>Capture: 121500</JobID> <FNC_CC_CAPTURE> <FunctionID>Capture: 121500</FunctionID> <CC_TRANSACTION> <TransactionID>1234565451</TransactionID> <PROCESSING_STATUS> <GuWID>C953442151732364876429</GuWID> <AuthorizationCode>366975</AuthorizationCode> <Info>THIS IS A DEMO TRANSACTION USING CREDIT CARD NUMBER 420000****0000. NO REAL MONEY WILL BE TRANSFERED.</Info> <StatusType>INFO</StatusType> <FunctionResult>PENDING</FunctionResult> <TimeStamp>2018-01-30 15:47:28</TimeStamp> </PROCESSING_STATUS> </CC_TRANSACTION> </FNC_CC_CAPTURE> </W_JOB> </W_RESPONSE></WIRECARD_BXML>
</details>
<merchantTransactionId>1234565451</merchantTransactionId>
<message>Success Capture</message>
<operationType>DEBIT</operationType>
<optionalTransactionParams/>
<payFrexTransactionId>121500</payFrexTransactionId>
<paySolTransactionId>C953442151732364876429</paySolTransactionId>
<paymentDetails>
<extraDetails/>
</paymentDetails>
<paymentSolution>wirecard</paymentSolution>
<status>SUCCESS</status>
</operation>
</operations>
</epg-status-response>
{merchantId}
&encrypted={encrypted}
&integrityCheck={integrityCheck}
Send a POST request to the /status/statusByDate endpoint to request the response status messages returned for transactions processed between the dates sent in the request.
The payload must be encrypted. See the Encryption section for details.
Concatenate the parameters listed below using the following format before encrypting them
{"merchantId":"{merchantId}","from":"{from}", "to":"{to}}"}
Example: {“merchantId”:“21577”,“from”:“2020/08/01 23:59:59”, “to”:“2020/08/07 23:59:59”}
Include the integrity check value and the merchantId as described in the Encryption section.
Note: Date and time format YYYY/MM/dd HH:mm:ss where:
- YYYY: Year (2021)
- MM: Month in year (01-12)
- dd: Day in month (01-31)
- HH: Hour in day (00-23)
- mm: Minute in hour (00-59)
- ss: Second in minute (00-59)
Path variables
Unique identifier provided by Easy Payment Gateway to the merchant.
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Integrity check encryption. See the Encryption section for details.
POST /EPGCheckout/rest/online/statusByDate?merchantId=123&encrypted=nfdkjshfjdksnk&integrityCheck=3213213 HTTP/1.1
<operations>
<operation sorted-order="1">
<amount>1000.00</amount>
<currency>EUR</currency>
<details><?xml version="1.0" encoding="UTF-8"?><WIRECARD_BXML
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd"> <W_RESPONSE> <W_JOB> <JobID>Pay: 121500</JobID> <FNC_CC_PREAUTHORIZATION> <FunctionID>PreAuthorization: 121500</FunctionID> <CC_TRANSACTION> <TransactionID>1234565451</TransactionID> <PROCESSING_STATUS> <GuWID>C663888151732364718789</GuWID> <AuthorizationCode>366975</AuthorizationCode> <Info>THIS IS A DEMO TRANSACTION USING CREDIT CARD NUMBER 420000****0000. NO REAL MONEY WILL BE TRANSFERED.</Info> <StatusType>INFO</StatusType> <FunctionResult>ACK</FunctionResult> <TimeStamp>2018-01-30 15:47:27</TimeStamp> </PROCESSING_STATUS> </CC_TRANSACTION> </FNC_CC_PREAUTHORIZATION> </W_JOB> </W_RESPONSE></WIRECARD_BXML>
</details>
<merchantTransactionId>1234565451</merchantTransactionId>
<message>Success preauthorization waiting capture</message>
<operationType>DEBIT</operationType>
<optionalTransactionParams/>
<payFrexTransactionId>121500</payFrexTransactionId>
<paySolTransactionId>C663888151732364718789</paySolTransactionId>
<paymentDetails>
<extraDetails/>
</paymentDetails>
<paymentSolution>wirecard</paymentSolution>
<status>PENDING</status>
</operation>
<operation sorted-order="2">
<amount>1000.00</amount>
<currency>EUR</currency>
<details><?xml version="1.0" encoding="UTF-8"?><WIRECARD_BXML
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd"> <W_RESPONSE> <W_JOB> <JobID>Capture: 121500</JobID> <FNC_CC_CAPTURE> <FunctionID>Capture: 121500</FunctionID> <CC_TRANSACTION> <TransactionID>1234565451</TransactionID> <PROCESSING_STATUS> <GuWID>C953442151732364876429</GuWID> <AuthorizationCode>366975</AuthorizationCode> <Info>THIS IS A DEMO TRANSACTION USING CREDIT CARD NUMBER 420000****0000. NO REAL MONEY WILL BE TRANSFERED.</Info> <StatusType>INFO</StatusType> <FunctionResult>PENDING</FunctionResult> <TimeStamp>2018-01-30 15:47:28</TimeStamp> </PROCESSING_STATUS> </CC_TRANSACTION> </FNC_CC_CAPTURE> </W_JOB> </W_RESPONSE></WIRECARD_BXML>
</details>
<merchantTransactionId>1234565451</merchantTransactionId>
<message>Success Capture</message>
<operationType>DEBIT</operationType>
<optionalTransactionParams/>
<payFrexTransactionId>121500</payFrexTransactionId>
<paySolTransactionId>C953442151732364876429</paySolTransactionId>
<paymentDetails>
<extraDetails/>
</paymentDetails>
<paymentSolution>wirecard</paymentSolution>
<status>SUCCESS</status>
</operation>
</operations>
</epg-status-response>
The AddonPayments Host-to-host integration provides API resources that support accepting payments on your website, managing recurring payments and previous transactions, and running reports. This documentation describes how to set up and use the AddonPayments Host-to-host integration and defines the API endpoints in detail.
For card transactions, you must maintain PCI Compliance to use the AddonPayments Host-to-host integration.
Note: PCI for Card transactions. Because the Host-to-host integration requires that your website handle payment and customer data, your company must comply with PCI and other applicable regulations. AddonPayments will not accept API requests from non-PCI compliant merchants.
The request scenarios for merchants using the Host-To-Host API are the same than for those merchants using the checkout API. The difference between these merchants is that with the Direct Payment API, the customer is not redirected to a checkout page and no iframe is required, in other words, the merchant hosts the entire checkout process. The request and the response are done directly from server to server. There are also some additional parameters that the merchant will have to send when using this API such as the exact payment solution required along with the account details of the customer for this solution.
For example, if the merchant would like the customer to make a transaction using credit cards, the merchant would have to pass the customer’s credit card details as part of this request. AddonPayments would then make a direct request to the appropriate provider to process the transaction and would respond immediately to the merchant with the result as well as a token representing the card number . The same can be done with any other payment solution that does NOT require a customer redirect .
Remember some payment solutions DO require a redirect, in which case AddonPayments will respond with a URL. In this case the merchant will have to redirect the customer to the URL provided. AddonPayments will then take over and will send the result back to the merchant.
Follow the steps below to perform a basic transaction using the AddonPayments Host-To-Host integration. Each of these steps is described in detail in the corresponding sections of this documentation:
- Website - Build a website with a form that collects payment and customer information.
- Build, Encrypt, and Submit the Transaction Request - Once you have collected the required data from your customer, you must format and encrypt it. Send a POST request with the encrypted transaction data in the body of the request to the Direct Payment resource.
- Handle the response - The response message from AddonPayments includes transaction status information and any details required to redirect your customer.
The merchant builds a website with a form for collecting your customer’s payment and identification details.
Depending on the payment solution, the parameters could be different. So EPG hardly recommend to check the Encryption Field page and contact with your account manager form more details.
For instance, a credit card transaction form must collect the following information:
- Amount
- Country
- Currency
- Card Number
- Cardholder Name
- Expiration Date
- CVN Number
The values for all required parameters should come from your backend systems. See the Direct Payment resource definition for more details.
All requests to the EPG API must be encrypted, following the encryption steps, click for more details, Encryption.
- Concatenate the parameters into a single string with the following format:
param1=value1¶m2=value2…¶mN=valueN
- Hash your merchant password using the MD5 algorithm. You will set your merchant password with EPG when you set up your account.
- Encrypt the parameter string using the AEScipher algorithm. Use your hashed merchant password as the key.
- Hash the unencrypted parameter string using the SHA256 algorithm. This hashed value will serve as an integrity check after EPG decrypts the parameters.
- Concatenate the encrypted parameter string, the integrity check value, and your hashed merchant password using the following format:
encrypted=ENCRYPTED_PARAMETER_VALUES&integrityCheck=INTEGRITY_CHECK_VALUE&merchantId=MERCHANT_ID
- Submit the string to the endpoint in the request body.
Once you have the parameter string, submit it as POST request to the Direct Pay endpoint.
Sample code
The sample code below encrypts and posts the Direct Pay request:
ESTE EJEMPLO NO ES DE CBC, <<HAY QUE REEMPLAZARLO POR UNO DE CBC
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Security.Cryptography;
using System.Net;
using System.IO;
using System.Web;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string merchantId = "MERCHANT-ID";
string key = "MERCHANT-PASSWORD";
string data = "operationType=debit&merchantId="+merchantId+"&customerId=19&customerEmail=test.staging@mm.com&amount=20.0&description=debit&country=MT¤cy=EUR&addressLine1=1, test Str&city=Sliema&postCode=12345&telephone=99999999&firstname=test&lastname=Staging&customerCountry=GB&merchantTransactionId=2015060110fds00163&productId=4354353&language=en&dob=31-12-1970";
string encrypted = AesEncryption(data, key);
string integrityCheck = sha256_hash(data);
string URI = "https://checkout-stg.easypaymentgateway.com/EPGCheckout/rest/online/pay";
string myParameters = "encrypted=" + UTF8Encoding(encrypted) + "&integrityCheck=" + integrityCheck + "&merchantId="+ "1073";
string HtmlResult = "response";
using (WebClient wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
HtmlResult = wc.UploadString(URI, myParameters);
}
Console.Write(HtmlResult);
}
public static String UTF8Encoding(String data)
{
return System.Net.WebUtility.UrlEncode(data);
}
public static string GetSha256Hash(string data)
{
System.Security.Cryptography.SHA256Managed crypt = new System.Security.Cryptography.SHA256Managed();
System.Text.StringBuilder hash = new System.Text.StringBuilder();
byte[] crypto = crypt.ComputeHash(Encoding.UTF8.GetBytes(data));
foreach (byte bit in crypto)
{
hash.Append(bit.ToString("x2"));
}
return hash.ToString();
}
public static String sha256_hash(String value)
{
using (SHA256 hash = SHA256Managed.Create())
{
return String.Join("", hash
.ComputeHash(Encoding.UTF8.GetBytes(value))
.Select(item => item.ToString("x2")));
}
}
public static string AesEncryption(string data, string key)
{
AesManaged aes = new AesManaged();
aes.Key = Encoding.UTF8.GetBytes(key);
aes.Mode = CipherMode.ECB;
aes.Padding = PaddingMode.PKCS7;
// aes.KeySize = 256;
// aes.BlockSize = 128;
//aes.IV = new byte[16];
ICryptoTransform crypt = aes.CreateEncryptor();
byte[] encBytes = Encoding.UTF8.GetBytes(data);
byte[] resultBytes = crypt.TransformFinalBlock(encBytes, 0, encBytes.Length);
return Convert.ToBase64String(resultBytes);
}
}
}
AddonPayments will validate the IP address that submits the request before attempting to decrypt and validate the payload.
The Direct Pay resource sends a response to the URL defined by the statusURL parameter that you sent as part of the request. The response includes transaction status information and a cardNumberToken. Save the cardNumberToken and any additional customer details. You can use these values to submit future transactions to AddonPayments.
The sample below shows a response from the Direct Payment resource:
<!-- this is a XML of a paypal transaction.. our responses are in xml and we need to add a creditcard transaction. I will provide one when we have that call if you want -->
<payfrex-response>
<message>string</message>
<operations>
<operation>
<amount>12.34</amount>
<currency>EUR</currency>
<details/>
<merchantTransactionId>481561</merchantTransactionId>
<message>The operation was successfully processed.</message>
<operationType>DEBIT</operationType>
<optionalTransactionParams>Credit card payment</optionalTransactionParams>
<EPGTransactionID>11245432gf</EPGTransactionID>
<paySolTransactionId>3r523fd</paySolTransactionId>
<paymentSolution>Paypal</paymentSolution>
<status>SUCCESS</status>
</operation>
</operations>
<optionalTransactionParams>Paypal transaction</optionalTransactionParams>
<status>SUCCESS</status>
<workFlowResponse>
<id>3383</id>
<name>PP Workflow</name>
<version>3</version>
</workFlowResponse>
</payfrex-response>
Additional features of the Direct Payment resource are described in the Direct Payment Resource Overview section. The Direct Pay resource definition includes additional details.
- Collect the values for the parameters required by the request. See the Endpoint Definitions for definitions of these parameters you must encrypt depending on the operation you intend to perform. Concatenate the parameters into a single string with the following format:
param1=value1¶m2=value2…¶mN=valueN
- Set your merchant password with EPG when you set up your account. Then, hash the password using md5 algorithm and provide the result to your Account Manager.
For example: https://www.md5online.org
-
Encrypt the parameter string
- Encrypt using the AEScipher algorithm on mode CBC.
- Generate an Initial Vector (a random byte array whose length must be 16) and use it with your hashed merchant password to encrypt.
-
Hash the unencrypted parameter string using the SHA256 algorithm. This hashed value will serve as an integrity check after EPG decrypts the parameters.
For example: https://codebeautify.org/sha256-hash-generator
- Encode with UTF-8 and concatenate the encrypted parameter string, the integrity check value, and your hashed merchant password using the following format:
encrypted=ENCRYPTED_PARAMETER_VALUES&integrityCheck=INTEGRITY_CHECK_VALUE&merchantId=MERCHANT_ID
-
Set header parameters:
- encryptionMode:
CBC
- iv: Initial Vector value, encoded on base64.
- apiVersion:
3
- encryptionMode:
-
Submit the string to the endpoint in the request body.
- AddonPayments will validate the IP address that submits the request before attempting to decrypt and validate the payload.
// Step 1
var rawFields = "param1=value1¶m2=value2¶m3=value3"
// Step 2
var merchantPassword = md5("This is a valid password") // "98ebf5819d3da8b5922e0d7351bfccf7"
// Step 3.
var encryptedFields = cbc(rawFields, merchantPassword, initialVector)
// Step 4.
var integrityCheck = hash256(rawFields)
// Step 5.
var param = "encrypted="+encryptedFields+"&integrityCheck="+integrityCheck+"&merchantId="+merchantId
// Step 6.
var iv = initialVector
var encryptionMode= "CBC"
var apiVersion = "3"
// Step 7.
curl -X POST "/pay?encrypted=XXXXX&integrityCheck=YYYYY&merchantId=ZZZZZ" \
-H "apiVersion: 3" \
-H "encryptionMode: CBC" \
-H "iv: xxxxxxxxxxx"
CBC encryption
CBC cbc = new CBC(rawParams, merchantPassword).encrypt();
cbc.getEncryptedParams();
cbc.getBase64EncdedIv();
Example
- rawParams
input=example&easy=payment&gateway=ltd&example=encryption&uuid=0af52594-14c4-11e9-ab14-d663bd873d93
- merchantPassword
14917db15c4eeee4218ab348c9abd877
- encryptedParams
9mezdoFtlCTZ5t1+0tYnONDr0xE2JSjXKE1Lj+TD5yXwG3Z6BGEFcdVZOH/MCmoGfcQj66WixprzxSmORK32kptFh+EqcurEMfPvXWTsFGSqfocKyeQcFbltPJF4aJwLBVJDINBE4MC3EuKFwBKSRg==
- base64EncodedIv
0SxmowJUQTAQcA/L8LvZrA==
public class CBC{
private static final String ALGORITHM = "AES";
private static final String CBC_MODE = "AES/CBC/PKCS5Padding";
private static final int AES_BLOCKSIZE = 16;
private final String rawParams;
private final String merchantPassword;
private byte[] iv;
private byte[] encrypedParams;
public CBC(String rawParams, String merchantPassword){
this.rawParams = rawParams;
this.merchantPassword = merchantPassword;
}
public CBC encrypt() throws Exception {
this.iv = this.generateIV();
this.encrypedParams = this.encryptOnCBCMode(this.rawParams.getBytes(), iv, this.merchantPassword.getBytes());
return this;
}
public byte[] getEncryptedParams(){
return this.encrypedParams;
}
public byte[] getBase64EncodedIv(){
return this.encodeBase64Iv(this.iv);
}
private byte[] generateIV() {
byte[] iv = new byte[AES_BLOCKSIZE];
prng.nextBytes(iv);
return iv;
}
private byte[] encodeBase64Iv(byte[] message){
return Base64.getEncoder().encode(message);
}
private byte[] encryptOnCBCMode(byte[] input, byte[] iv, byte[] key) throws Exception {
Cipher cipher = initCypherCBC(iv, key, Cipher.ENCRYPT_MODE);
return encodeBase64Iv(cipher.doFinal(input));
}
private Cipher initCypherCBC(byte[] iv, byte[] key, int cipherMode)
throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException,
InvalidAlgorithmParameterException {
Cipher cipher = Cipher.getInstance(CBC_MODE);
SecretKeySpec secretKey = new SecretKeySpec(key, ALGORITHM);
cipher.init(cipherMode, secretKey, new IvParameterSpec(iv));
return cipher;
}
}
Integrity Check - Hash 256
IntegrityCheck ic = new IntegrityCheck();
String integrityCheck = ic.hashMessage(rawParams);
Example
- rawParams
input=example&easy=payment&gateway=ltd&example=encryption&uuid=0af52594-14c4-11e9-ab14-d663bd873d93
- integrityCheck
265f2041f0d51e13ff8b7aab3fccf7ec40a5897aa62f929fd7a7e1a986d35fe1
public class IntegrityCheck{
static String SHA256 = "SHA-256";
/**
* Method that encrypts the message using an algorithm
*
* @param message
* to encrypt
* @return Message encrypted
* @throws EncryptionException
*/
public String hashMessage(String message) throws EncryptionException {
MessageDigest messageDigest = MessageDigest.getInstance(SHA256);
messageDigest.reset();
messageDigest.update(message.getBytes());
return this.toHexadecimal(messageDigest.digest());
}
/**
* Convert value to Hexadecimal
*
* @param value
* Imput value
* @return Hexadecimal value
*/
private String toHexadecimal(byte[] value) {
StringBuilder hash = new StringBuilder();
for (byte aux : value) {
int b = aux & 0xff;
if (Integer.toHexString(b).length() == 1)
hash.append("0");
hash.append(Integer.toHexString(b));
}
return hash.toString();
}
}
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Integrity check encryption. See the Encryption section for details.
Unique identifier provided by AddonPayments to the merchant.
The version of the API. It could affect the transaction response.
Used encryption mode (CBC). See the Encryption section for details.
Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.
All available fields which merchants could use to encrypt.
Redsys Request
{
"amount": 100.22,
"apiVersion": "2.1",
"country": "ES",
"currency": "EUR",
"description": "A transaction test",
"merchantId": 100001,
"merchantTransactionId": "MER-12345",
"operationType": "DEBIT",
"paymentSolution": "creditcards",
"paymentMethod": "AliPay",
"productId": 211002,
"transactionId": "578439",
"customerId": "MerCustomer1234",
"addressLine1": "Test street no. 1",
"addressLine2": "Floor 3, ap. 2",
"buildingName": "Testing Building",
"buildingNumber": "T-43",
"city": "Testing City",
"customerNationalId": "TE123456",
"customerNationalIdType": "TID",
"dob": "12-31-1999",
"firstName": "Tester",
"language": "en",
"lastName": "Test",
"phoneCode": "341",
"postCode": "TE3451222",
"state": "MI",
"telephone": "618973366",
"customerCountry": "ES",
"statusURL": "hhttp://www.merchant.com/notification",
"successURL": "hhttp://www.merchant.com/success.html",
"errorURL": "hhttp://www.merchant.com/error.html",
"cancelURL": "hhttp://www.merchant.com/cancel.html",
"awaitingURL": "https://www.merchant.com/awaiting.html",
"merchantParams": "opKeyX:value1;opKeyY:value2;opKeyZ:value3",
"cardNumber": "4200000000000000",
"expDate": "1222",
"cvnNumber": "012",
"chName": "Jonathan Gonzalez",
"cardType": "visa",
"cardNumberToken": 1,
"chAddress1": "51 Green house",
"chAddress2": "Block 3 second floor",
"chCity": "Shelby",
"chCountry": "GB",
"chEmail": "john@gonzalez.com",
"chFirtName": "John",
"chLastName": "Gonzalez",
"chPhone": "44669934872",
"chPostCode": "Y08 6EL",
"chState": "CA",
"cardLimits": "3",
"threedParams": "",
"checkoutTitle": "AddonPayments Checkout Title",
"title": "Checkout Title",
"subTitle": "Please confirm the amount and proceed",
"backgroundColor": "Olive -> `#808000`",
"topLogo": "http://www.merchant.com/images/top-logo.png",
"bottomLogo": "http://www.merchant.com/images/logo.png",
"fontColour": "Navy -> `#000080`",
"fontFamily": "arial",
"fontSize": 10,
"amountMaxOnDemand": 50
}
Barclays Request
{
"amount": 100.22,
"apiVersion": "2.1",
"country": "ES",
"currency": "EUR",
"description": "A transaction test",
"merchantId": 100001,
"merchantTransactionId": "MER-12345",
"operationType": "DEBIT",
"paymentSolution": "creditcards",
"paymentMethod": "AliPay",
"productId": 211002,
"transactionId": "578439",
"customerId": "MerCustomer1234",
"addressLine1": "Test street no. 1",
"addressLine2": "Floor 3, ap. 2",
"buildingName": "Testing Building",
"buildingNumber": "T-43",
"city": "Testing City",
"customerNationalId": "TE123456",
"customerNationalIdType": "TID",
"dob": "12-31-1999",
"firstName": "Tester",
"language": "en",
"lastName": "Test",
"phoneCode": "341",
"postCode": "TE3451222",
"state": "MI",
"telephone": "618973366",
"customerCountry": "ES",
"statusURL": "hhttp://www.merchant.com/notification",
"successURL": "hhttp://www.merchant.com/success.html",
"errorURL": "hhttp://www.merchant.com/error.html",
"cancelURL": "hhttp://www.merchant.com/cancel.html",
"awaitingURL": "https://www.merchant.com/awaiting.html",
"merchantParams": "opKeyX:value1;opKeyY:value2;opKeyZ:value3",
"cardNumber": "4200000000000000",
"expDate": "1222",
"cvnNumber": "012",
"chName": "Jonathan Gonzalez",
"cardType": "amex",
"cardNumberToken": 1,
"chAddress1": "51 Green house",
"chAddress2": "Block 3 second floor",
"chCity": "Shelby",
"chCountry": "GB",
"chEmail": "john@gonzalez.com",
"chFirtName": "John",
"chLastName": "Gonzalez",
"chPhone": "44669934872",
"chPostCode": "Y08 6EL",
"chState": "CA",
"cardLimits": "3",
"threedParams": "",
"checkoutTitle": "AddonPayments Checkout Title",
"title": "Checkout Title",
"subTitle": "Please confirm the amount and proceed",
"backgroundColor": "Olive -> `#808000`",
"topLogo": "http://www.merchant.com/images/top-logo.png",
"bottomLogo": "http://www.merchant.com/images/logo.png",
"fontColour": "Navy -> `#000080`",
"fontFamily": "arial",
"fontSize": 10,
"amountMaxOnDemand": 50
}
Paypal request
{
"amount": 100.22,
"apiVersion": "2",
"country": "ES",
"currency": "EUR",
"description": "A transaction test",
"merchantId": 100001,
"merchantTransactionId": "MER-12345",
"operationType": "DEBIT",
"paymentSolution": "creditcards",
"paymentMethod": "AliPay",
"productId": 211002,
"transactionId": "578439",
"customerId": "MerCustomer1234",
"addressLine1": "Test street no. 1",
"addressLine2": "Floor 3, ap. 2",
"buildingName": "Testing Building",
"buildingNumber": "T-43",
"city": "Testing City",
"customerNationalId": "TE123456",
"customerNationalIdType": "TID",
"dob": "12-31-1999",
"firstName": "Tester",
"language": "en",
"lastName": "Test",
"phoneCode": "341",
"postCode": "TE3451222",
"state": "MI",
"telephone": "618973366",
"customerCountry": "ES",
"statusURL": "hhttp://www.merchant.com/notification",
"successURL": "hhttp://www.merchant.com/success.html",
"errorURL": "hhttp://www.merchant.com/error.html",
"cancelURL": "hhttp://www.merchant.com/cancel.html",
"awaitingURL": "https://www.merchant.com/awaiting.html",
"merchantParams": "opKeyX:value1;opKeyY:value2;opKeyZ:value3",
"cardNumber": "4200000000000000",
"expDate": "1222",
"cvnNumber": "012",
"chName": "Jonathan Gonzalez",
"cardType": "amex",
"cardNumberToken": 1,
"chAddress1": "51 Green house",
"chAddress2": "Block 3 second floor",
"chCity": "Shelby",
"chCountry": "GB",
"chEmail": "john@gonzalez.com",
"chFirtName": "John",
"chLastName": "Gonzalez",
"chPhone": "44669934872",
"chPostCode": "Y08 6EL",
"chState": "CA",
"cardLimits": "3",
"threedParams": "",
"checkoutTitle": "AddonPayments Checkout Title",
"title": "Checkout Title",
"subTitle": "Please confirm the amount and proceed",
"backgroundColor": "Olive -> `#808000`",
"topLogo": "http://www.merchant.com/images/top-logo.png",
"bottomLogo": "http://www.merchant.com/images/logo.png",
"fontColour": "Navy -> `#000080`",
"fontFamily": "arial",
"fontSize": 10,
"amountMaxOnDemand": 50
}
Total amount of transaction. Use ‘.’ as decimal separator
The version of API. AddonPayments will provide this information as part of the onboarding process
Description of the transaction that is taken place. No more than 500 characters
This is the unique identifier provided by AddonPayments to the merchant
Merchants can also send a list of custom parameters. These parameters will be stored in the AddonPayments database so they can be used as part of a report or rule set. These parameters will also be returned in the AddonPayments response back to the merchant in the same format.
Merchant’s unique transaction id. No more than 45 characters
This parameter can be used to define if the transaction is to be a DEBIT
or a CREDIT
. Default value is DEBIT
.
Debit operation. Customer to Merchant operation.
Credit Operation. Merchant to Customer operation.
Name of the payment solution required (i.e. paypal, skrill, creditcards, etc).
Sub payment method inside of the payment method will be executed
Product’s indentifier. If it is not defined we are going to link the transaction with the default product. This information will be provided by AddonPayments
AddonPayments pre-auth transaction id. It is ONLY required for secondary operation types: VOID
, CAPTURE
, REFUND
, REBATE
{
"amount": 100.22,
"apiVersion": "3",
"country": "ES",
"currency": "EUR",
"description": "A transaction test",
"merchantId": 100001,
"merchantParams": "opKeyX:value1;opKeyY:value2;opKeyZ:value3",
"merchantTransactionId": "MER-12345",
"operationType": "DEBIT",
"paymentSolution": "creditcards",
"paymentMethod": "AliPay",
"productId": 211002,
"transactionId": "578439"
}
Unique customer id provided by merchant
Customer’s address (first part)
Customer’s address (second part)
Customer’s building name
Customer’s building number
Customer’s city
Customer’s nationality id
Customer’s national type
Date of birth. Format: yyyy-MM-dd
Customer’s first name
Customer’s language in iso code 2.
Customer’s last name
Phone number code
Customer’s post code
Customer’s state or province
Customer’s telephone number
{
"customerId": "MerCustomer1234",
"addressLine1": "Test street no. 1",
"addressLine2": "Floor 3, ap. 2",
"buildingName": "Testing Building",
"buildingNumber": "T-43",
"city": "Testing City",
"customerNationalId": "TE123456",
"customerNationalIdType": "TID",
"dob": "12-31-1999",
"firstName": "Tester",
"language": "en",
"lastName": "Test",
"phoneCode": "341",
"postCode": "TE3451222",
"state": "MI",
"telephone": "618973366",
"customerCountry": "ES"
}
URL where the merchant would like AddonPayments to automatically send the status of the payment.
URL where the merchant would like AddonPayments to redirect the customer upon a successful payment. Recommended
URL where the merchant would like AddonPayments to redirect the customer upon an erroneous payment. Recommended
URL where the merchant would like AddonPayments to redirect the customer after the customer has decided to cancel the payment.
URL where the merchant would like to redirect the customer if the transaction is in pending on the payment solution side.
{
"statusURL": "hhttp://www.merchant.com/notification",
"successURL": "hhttp://www.merchant.com/success.html",
"errorURL": "hhttp://www.merchant.com/error.html",
"cancelURL": "hhttp://www.merchant.com/cancel.html",
"awaitingURL": "https://www.merchant.com/awaiting.html"
}
Merchants can also send a list of custom parameters. These parameters will be stored in the EPG database so they can be used as part of a report or rule set. These parameters will also be returned in the EPG response back to the merchant in the same format.
The parameter will contain all the optional params, passing the key and value for each optional param. The parameter should have the following format:
merchantParams=opKeyX:value1;opKeyY:value2;opKeyZ:value3
This defined parameter key could be whatever the merchant wants, the merchant is able to define each parameter name to easily identify these in the back office. Example: merchantParams=vip:1;risk:no;new_account:no
Important! If you are using an acquirer that allows dynamic descriptors, you need to pass this value as part of an optional parameter such as: merchantParams=dynamicDescriptor:myDescriptor;opKeyY:value2;opKeyZ:value3
{
"merchantParams": "opKeyX:value1;opKeyY:value2;opKeyZ:value3"
}
Card Number. This number has to be validated by Luhn Check algoritm
Card exprired date in the follow format: mmyy
Card CVN. By default the number is a 3 digit but some cards could be 4 digits
Card holder name
Card type supported
AddonPayments card number token.
{
"cardNumber": "4200000000000000",
"expDate": "1222",
"cvnNumber": "012",
"chName": "Jonathan Gonzalez",
"cardType": "visa",
"cardNumberToken": "4204854954380000"
}
Card holder address, first part
Card holder address, second part
Card Holder City
Card Holder Country in ISO CODE 2
Card Holder Email
Card Holder first name
Card Holder Last Name
Card Holder Phone
Card Holder Post Code
Number of maximum number of card by customer
{
"chAddress1": "51 Green house",
"chAddress2": "Block 3 second floor",
"chCity": "Shelby",
"chCountry": "GB",
"chEmail": "john@gonzalez.com",
"chFirtName": "John",
"chLastName": "Gonzalez",
"chPhone": "44669934872",
"chPostCode": "Y08 6EL",
"chState": "CA",
"cardLimits": "3"
}
MPI Parameters return for the authentication with credit card. Only for External MPI.
{
"threedParams": ""
}
Desired check out title. Default is empty.
Desired check out title. Default is empty.
Desired check out subtitle. Default is empty.
Desired colour for checkout background colour. Default is White.
URL of the merchant’s logo that can be shown at the top of the checkout page
URL of the merchant’s logo that can be shown at the bottom of the checkout page.
Desired colour for checkout font colour. Default is black.
Desired type for checkout fonts (arial
, verdana
, times new roman
)
Desired size for checkout fonts.
Default is 12
{
"checkoutTitle": "AddonPayments Checkout Title",
"title": "Checkout Title",
"subTitle": "Please confirm the amount and proceed",
"backgroundColor": "Olive -> `#808000`",
"topLogo": "http://www.merchant.com/images/top-logo.png",
"bottomLogo": "http://www.merchant.com/images/logo.png",
"fontColour": "Navy -> `#000080`",
"fontFamily": "arial",
"fontSize": 10
}
{
"amountMaxOnDemand": 50
}
Length of time that the cardholder has had the account with the commerce
No account (guest check-out)
During this transaction
Less than 30 days
Between 30 and 60 days
More than 60 days
Registration date (UTC) of the consumer’s account in the merchant’s shop.
For guest checkout, do not send this field.
Date that the consumer last made changes to their account in the merchant’s shop. For example, changes to billing and shipping address, new payment account, new email address.
For guest checkout, do not send this field.
Length of time since the cardholder’s account information with the merchant’s shop was last changed, including Billing or Shipping address, new payment account, or new user(s) added.
Changed during this transaction
Less than 30 days
Between 30 and 60 days
More than 60 days
Date that the consumer last changed/reset their password in the merchant’s shop.
For guest checkout, do not send this field.
Indicates the last password modification.
No change
During this transaction
Less than 30 days
Between 30 and 60 days
More than 60 days
Date that the consumer first used this shipping address in the merchant’s shop.
For guest checkout, do not send this field.
Indicates the first time the shipping address was used.
Changed during this transaction
Less than 30 days
Between 30 and 60 days
More than 60 days
Number of transactions (successful, failed, and canceled) that the consumer has attempted in the past 24 hours.
Does not include merchant-initiated transactions.
Number of transactions (successful, failed, and canceled) that the consumer has attempted within the past year.
Does not include merchant-initiated transactions.
Number of cards the consumer has attempted to add to their account in the merchant’s shop for card-on-file payments (one-click checkout) in the past 24 hours.
Number of successful orders by the consumer in the merchant’s shop within the past 6 months.
Indicates if the cardholder name is equals to to the shipping name.
false
: Account Name different than shipping Nametrue
: Account Name identical to shipping Name
Date when the client payment account was registered in the merchant (YYYYMMDD)
Indicates the period when the payment account was inscribed in the merchant account.
No account (guest check-out)
During this transaction
Less than 30 days
Between 30 and 60 days
More than 60 days
Indicates if the merchant knows of suspicious activities by the consumer (e.g. previous fraud).
false
: No suspicious activity has been observedtrue
: Suspicious activity has been observed
{
"accountAge": "02",
"accountCreationDate": "2001-12-31",
"accountChangeDate": "2001-12-31",
"accountChangeInd": "02",
"passwordChangeDate": "2001-12-31",
"passwordChangeInd": "02",
"shippingAddressUsage": "2001-12-31",
"shippingAddressUsageInd": "01",
"txnActivityDay": "11",
"txnActivityYear": "12",
"provisioningAttemptsDay": "5",
"purchasesLast6Months": "22",
"shippingNameInd": true,
"paymentAccountAge": "20001231",
"paymentAccountInd": "05",
"suspiciousAccountActivityInd": true
}
This is the HTTP Accept Header as retrieved from the consumer’s browser in the HTTP request.
If the string is longer than 2048, it must be truncated. It is strongly recommended to provide this field to prevent rejection from the ACS server.
This is the User Agent as retrieved from the consumer’s browser in the HTTP request. If it is longer than 256 bytes it must be truncated. It is strongly recommended to provide this field to prevent rejection from the ACS server.
Boolean that represents the ability of the cardholder browser to execute Java.
// Value is returned from below code
navigator.javaEnabled()
false
: disabledtrue
: enabled
Required when
jsEnabled
=true
otherwise Optional
Boolean that represents the ability of the cardholder browser to execute Javascript.
false
: disabledtrue
: enabled
Value representing the browser language as defined in IETF BCP47. The value is limited to 1-8 characters.
// Value is returned from below property
navigator.language
Customer Browser IP address.
Total width of the cardholder’s screen in pixels.
// Value is returned from below property
screen.width
Required when
jsEnabled
=true
otherwise Optional
Total height of the cardholder’s screen in pixels.
// Value is returned from below property
screen.height
Required when
jsEnabled
=true
otherwise Optional
Time-zone offset in minutes between UTC and the Cardholder browser local time.
// Value is returned from below method
getTimezoneOffset()
Note that the offset is positive if the local time zone is behind UTC and negative if it is ahead.
Required when
jsEnabled
=true
otherwise Optional
Value representing the bit depth of the colour palette for displaying images, in bits per pixel.
// Obtained from Cardholder browser using below property
screen.colorDepth
Required when
jsEnabled
=true
otherwise Optional
1 bit
4 bits
8 bits
15 bits
16 bits
24 bits
30 bits
32 bits
48 bits
Dimensions of the challenge window that has been displayed to the Cardholder.
The ACS shall reply with content that is formatted to appropriately render in this window to provide the best possible user experience.
Preconfigured sizes are width x height in pixels of the window displayed in the Cardholder browser window.
250 X 400
390 x 400
500 x 600
600 x 400
Full screen (default)
{
"acceptHeader": "text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11.2; rv:86.0) Gecko/20100101 Firefox/86.0",
"javaEnabled": false,
"jsEnabled": true,
"browserLanguage": "en-GB",
"browserIp": "219.22.33.12",
"screenWidth": 703,
"screenHeight": 333,
"browserTZ": -300,
"screenColorDepth": "24",
"challengeWindowSize": "01"
}
The consumer has previously ordered the same item.
true
: First-time orderfalse
: Reorder
Expected shipping date for pre-ordered goods
Indicates if the order is available or a future release
true
: Merchandise availablefalse
: Future availability
For prepaid or gift card purchase, the purchase amount total of prepaid or gift card(s)
For prepaid or gift card purchase, total count of individual prepaid or gift cards/codes purchased.
For prepaid or gift card purchase, ISO 4217 three-digit currency code of the gift card.
{
"reorderItems": true,
"preOrderDate": "20001231",
"preOrderPurchaseInd": true,
"giftCardAmount": "22.33",
"giftCardCount": "1",
"giftCardCurrency": "EUR"
}
City of the consumer’s shipping address.
Please provide this field even if the billing city is identical Required (if available) unless market or regional mandate restricts sending this information.
Country of the consumer’s shipping address.
Please provide this field even if the billing country is identical. Required if Cardholder Shipping Address State (
shippingState
) is present. Required (if available) unless market or regional mandate restricts sending this information.
Line 1 of the street address of the consumer’s shipping address.
Please provide this field even if the billing address is identical. Required (if available) unless market or regional mandate restricts sending this information.
Line 2 of the street address of the consumer’s shipping address.
Please provide this field even if the billing address is identical. Required (if available) unless market or regional mandate restricts sending this information.
ZIP/postal code of the consumer’s shipping address.
Please provide this field even if the billing address is identical. Required (if available) unless market or regional mandate restricts sending this information.
State of the consumer’s shipping address.
Please provide this field even if the billing address is identical. Required (if available) unless market or regional mandate restricts sending this information, ,or State is not applicable for this country.
The shipping method chosen by the consumer. Merchants must use the shipping indicator value that applies most accurately to the shipping method. If the consumer checks out two or more items, use the shipping indicator value for physical goods. If all are digital goods, use the shipping indicator value that matches the most expensive item.
Ship to cardholder’s billing address
Ship to another address known to and 03 Ship to an address that differs from the consumer’s billing address.
Ship to address that is different than the cardholder’s billing address
‘Ship to Store’ / Pick-up at local store (Store address shall be populated in shipping address fields)
Digital goods (includes online services, electronic gift cards and redemption codes)
Travel and Event tickets, not shipped
Other (for example, Gaming, digital services not shipped, emedia subscriptions, etc.)
For Electronic delivery, the email address to which the merchandise was delivered.
Indicates the merchandise delivery timeframe.
Electronic delivery
Same day shipping
Overnight shipping
Two or more days shipping
Indicates whether the Cardholder Shipping Address and Cardholder Billing Address are the same.
- ‘false’: Shipping Address does not match Billing Address
- ‘true’: Shipping Address matches Billing Address
{
"shippingCity": "London",
"shippingCountry": "GB",
"shippingAddress1": "Oxford Street, 1",
"shippingAddress2": "Block 3",
"shippingZipCode": "W1D 1BS",
"shippingState": "MI",
"shippingMethodInd": "07",
"deliveryEmail": "customer@shop.me",
"deliveryTimeframe": "04",
"shippingAddressMatch": "false"
}
Recurring payment expiry date (YYYYMMDD)
Recurring payment frequency
{
"paymentRecurringExpiry": "20001231",
"paymentRecurringFrecuency": 12
}
Authentication method used to merchant authentication.
No 3DS requestor
Login using own credentials
Login using federated ID
Login using issuer credentials
Login using third party authentication
Login using FIDO authentication
Login using FIDO assurance data signed
SRC assurance data
Authentication date and time
{
"authMethod": "06",
"authTimestamp": "200012312359"
}
Authentication method used in the previous authentication.
frictionless
Challenge
AVS verified
Other issuer methods
Authentication date and time
Previous authentication reference
{
"priorAuthMethod": "02",
"priorAuthTimestamp": "200012312459"
}
Semicolon separated values containing the Merchant proposed exemptions by priority.
Low Value Transaction
Transaction Risk Analysis
Corporate payment
Merchant Initiated
{
"merchantExemptionsSca": "LWV,TRA"
}
Main AddonPayment response object which contains the information relative to the request.
Number of Workflow’s operations
Workflow’s message
List of Workflow operations
Merchant Optional Transaction Parameters that has been sent in the request.
Key/Value item
Optional Transaction Parameter Key
Optional Transaction Parameter Value
Workflow Status. This valu
Matched wrokflow that process the request. If the request does not match any workflow, then this property is NULL
This is a JSON
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "aib",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "ERROR",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
This is a XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<payfrex-response operation-size="1">
<operations>
<operation sorted-order="1">
<amount>730.38</amount>
<currency>GBP</currency>
<merchantTransactionId>epgLiveTest001</merchantTransactionId>
<message>3dsv2 - processed</message>
<operationType>DEBIT</operationType>
<payFrexTransactionId>3920459</payFrexTransactionId>
<paymentDetails>
<cardNumberToken>2290567574110080</cardNumberToken>
<extraDetails/>
</paymentDetails>
<service>3DSv2</service>
<status>ERROR3DS</status>
<respCode>
<code>8003</code>
<message>Authentication not completed. Check Service Response</message>
<uuid>e0b1b6ff_480e_4bb5_8049_137025fb6a19</uuid>
</respCode>
<mpi>
<authenticationStatus>N</authenticationStatus>
<threeDSv2Token>fd4a3180-96d1-4b33-a97e-8084440b2581</threeDSv2Token>
</mpi>
<paymentCode>nsN3</paymentCode>
<paymentMessage>Not authenticated</paymentMessage>
</operation>
</operations>
<optionalTransactionParams/>
<status>ERROR3DS</status>
<workFlowResponse>
<id>16299</id>
<name>3dsv2 authentication.</name>
<version>13</version>
</workFlowResponse>
</payfrex-response>
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "Barclays",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "FAIL",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "ERROR",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "aib",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "aib",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "ERROR",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "Barclays",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "FAIL",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
Workflow operation Object
Sorted operation number. Starting from 1.
Payment amount. Matching with the requested amount.
Currency of the transaction ISO-4217, 3 digit code
Operation’s message that is generated by AddonPayments
Merchant Transaction Id
Operation Type
Debit or Deposit operation
Credit or Withdraw operation
Void operation (required a previous DEBIT
operation)
Rebate operation (required a previous DEBIT
operation)
Refund operation (required a previous DEBIT
operation)
Acctoun has been registered by JavaScript Integration
Operation Status
Operation is initiated.
Operation which required a new operation to reach a final Status.
Operation completed successfully by the payment solution
Final Status
Operation fails processing the payment
Final Status
Operation has been declined or rejected by the payment solution
Final Status
Debit operation has been voided successfully
Final Status
Debit operation has been rebated successfully
Final Status
Debit operation has been rejected successfully
Final Status
Operation requires a customer redirection to payment solution domain. For instance 3DSecure Challenge page
Operation that requires a payment solution notification to get completed
Authentication has been completed successfully
3DS Final Status
Authentication has been declined or cancelled by the customer
3DS Final Status
Internal AddonPayments Operation Idenfier
Payment solution response in raw format.
Payment solution transaction idenfifier
Special payment details
Card holder name
Masked card number (first 6 and last 4 digits)
Internal AddonPayment token
Card details type
Card expired date
KeyValue property which includes some extra details
Extra details’ key
Extra details’ value
Card Issuer bank name
Card Issuer country
Wallet or payment customer account number
Payment solution name. Refer to List of available payment solution section
Internal AddonPayment response code
Internal response code number
Internal response message
Internal UUID that match with the operation
Authorization Auth code
Original payment solution response code
Orinal payment solution response message
Authorization response additinal data value. (Only supported for some card adquirers)
Authorization response additional data message (Only supported for some card adquirers)
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
Operation Workflow that has been performed. The number of operations depends in the Workflow and the version.
Workflow identifier
Workflow name
Workflow version number. It increases everytime a workflow is modified and saved by the AddonPayments Backoffice.
{
"id": "2",
"name": "3DS flow",
"version": "3"
}
Here you could find some Redsys use cases.
This section contains some example of request and response when the merchant has below configuration.
- The merchant has an Redsys account
- The merchant wants to process
DEBIT
operations inSALE
mode.
Request parameters
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Request headers
Used encryption mode (CBC). See the Encryption section for details.
Responses
Example JSON parameter request
curl -X POST "/token?encrypted=ggfdgfd&integrityCheck=gfdgfdgfd&merchantId=gfdgfdgfd" \
-H "apiVersion: 3" \
-H "encryptionMode: CBC" \
-H "iv: 43432432"
HTTP/1.1 201 Created
Content-Type: application/json
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
Example JSON parameter request
fdsfdsfdsfdsfdsf
Request parameters
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Request headers
Used encryption mode (CBC). See the Encryption section for details.
Responses
fdsfdsfds
fdsfds
fdsfdsf
PayPal example
This section contains some example of request and response when the merchant has below configuration.
- The merchant has an Redsys account
- The merchant wants to process
DEBIT
operations inSALE
mode.
Request parameters
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Request headers
Used encryption mode (CBC). See the Encryption section for details.
Responses
Example JSON parameter request
curl -X POST "/token?encrypted=ggfdgfd&integrityCheck=gfdgfdgfd&merchantId=gfdgfdgfd" \
-H "apiVersion: 3" \
-H "encryptionMode: CBC" \
-H "iv: 43432432"
HTTP/1.1 201 Created
Content-Type: application/json
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
Example JSON parameter request
fdsfdsfdsfdsfdsf
This section contains some example of request and response when the merchant has below configuration.
- The merchant has an Redsys account
- The merchant wants to process
DEBIT
operations inSALE
mode.
Request parameters
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Request headers
Used encryption mode (CBC). See the Encryption section for details.
Responses
Example JSON parameter request
curl -X POST "/token?encrypted=ggfdgfd&integrityCheck=gfdgfdgfd&merchantId=gfdgfdgfd" \
-H "apiVersion: 3" \
-H "encryptionMode: CBC" \
-H "iv: 43432432"
HTTP/1.1 201 Created
Content-Type: application/json
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
Example JSON parameter request
fdsfdsfdsfdsfdsf
This section contains some example of request and response when the merchant has below configuration.
- The merchant has an Redsys account
- The merchant wants to process
DEBIT
operations inSALE
mode.
Request parameters
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Request headers
Used encryption mode (CBC). See the Encryption section for details.
Responses
Example JSON parameter request
curl -X POST "/token?encrypted=ggfdgfd&integrityCheck=gfdgfdgfd&merchantId=gfdgfdgfd" \
-H "apiVersion: 3" \
-H "encryptionMode: CBC" \
-H "iv: 43432432"
HTTP/1.1 201 Created
Content-Type: application/json
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
Example JSON parameter request
fdsfdsfdsfdsfdsf
This section contains some example of request and response when the merchant has below configuration.
- The merchant has an Redsys account
- The merchant wants to process
DEBIT
operations inSALE
mode.
Request parameters
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Request headers
Used encryption mode (CBC). See the Encryption section for details.
Responses
Example JSON parameter request
curl -X POST "/token?encrypted=ggfdgfd&integrityCheck=gfdgfdgfd&merchantId=gfdgfdgfd" \
-H "apiVersion: 3" \
-H "encryptionMode: CBC" \
-H "iv: 43432432"
HTTP/1.1 201 Created
Content-Type: application/json
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
Example JSON parameter request
fdsfdsfdsfdsfdsf
This section contains some example of request and response when the merchant has below configuration.
- The merchant has an Redsys account
- The merchant wants to process
DEBIT
operations inSALE
mode.
Request parameters
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Request headers
Used encryption mode (CBC). See the Encryption section for details.
Responses
Example JSON parameter request
curl -X POST "/token?encrypted=ggfdgfd&integrityCheck=gfdgfdgfd&merchantId=gfdgfdgfd" \
-H "apiVersion: 3" \
-H "encryptionMode: CBC" \
-H "iv: 43432432"
HTTP/1.1 201 Created
Content-Type: application/json
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
Example JSON parameter request
fdsfdsfdsfdsfdsf
This section contains some example of request and response when the merchant has below configuration.
- The merchant has an Redsys account
- The merchant wants to process
DEBIT
operations inSALE
mode.
Request parameters
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Request headers
Used encryption mode (CBC). See the Encryption section for details.
Responses
Example JSON parameter request
curl -X POST "/token?encrypted=ggfdgfd&integrityCheck=gfdgfdgfd&merchantId=gfdgfdgfd" \
-H "apiVersion: 3" \
-H "encryptionMode: CBC" \
-H "iv: 43432432"
HTTP/1.1 201 Created
Content-Type: application/json
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
Example JSON parameter request
fdsfdsfdsfdsfdsf
This section contains some example of request and response when the merchant has below configuration.
- The merchant has an Redsys account
- The merchant wants to process
DEBIT
operations inSALE
mode.
Request parameters
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Request headers
Used encryption mode (CBC). See the Encryption section for details.
Responses
Example JSON parameter request
curl -X POST "/token?encrypted=ggfdgfd&integrityCheck=gfdgfdgfd&merchantId=gfdgfdgfd" \
-H "apiVersion: 3" \
-H "encryptionMode: CBC" \
-H "iv: 43432432"
HTTP/1.1 201 Created
Content-Type: application/json
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
Example JSON parameter request
fdsfdsfdsfdsfdsf
This section contains some example of request and response when the merchant has below configuration.
- The merchant has an Redsys account
- The merchant wants to process
DEBIT
operations inSALE
mode.
Request parameters
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Request headers
Used encryption mode (CBC). See the Encryption section for details.
Responses
Example JSON parameter request
curl -X POST "/token?encrypted=ggfdgfd&integrityCheck=gfdgfdgfd&merchantId=gfdgfdgfd" \
-H "apiVersion: 3" \
-H "encryptionMode: CBC" \
-H "iv: 43432432"
HTTP/1.1 201 Created
Content-Type: application/json
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
Example JSON parameter request
fdsfdsfdsfdsfdsf
This section contains some example of request and response when the merchant has below configuration.
- The merchant has an Redsys account
- The merchant wants to process
DEBIT
operations inSALE
mode.
Request parameters
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Request headers
Used encryption mode (CBC). See the Encryption section for details.
Responses
Example JSON parameter request
curl -X POST "/token?encrypted=ggfdgfd&integrityCheck=gfdgfdgfd&merchantId=gfdgfdgfd" \
-H "apiVersion: 3" \
-H "encryptionMode: CBC" \
-H "iv: 43432432"
HTTP/1.1 201 Created
Content-Type: application/json
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
Example JSON parameter request
fdsfdsfdsfdsfdsf
This section contains some example of request and response when the merchant has below configuration.
- The merchant has an Redsys account
- The merchant wants to process
DEBIT
operations inSALE
mode.
Request parameters
Encrypted parameters using appropriate algorithm. See the Encryption section for details.
Go to Online Tools for more information:
Request headers
Used encryption mode (CBC). See the Encryption section for details.
Responses
Example JSON parameter request
curl -X POST "/token?encrypted=ggfdgfd&integrityCheck=gfdgfdgfd&merchantId=gfdgfdgfd" \
-H "apiVersion: 3" \
-H "encryptionMode: CBC" \
-H "iv: 43432432"
HTTP/1.1 201 Created
Content-Type: application/json
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "CreditCards",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "SUCCESS",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
Example JSON parameter request
fdsfdsfdsfdsfdsf
Request body
List of AddonPayments fields
Responses
Body
Request body
List of AddonPayments fields
Merchant Password. Provided by AddonPayments
Merchant Identifier. Provider by AddonPayments
Derypto Mode. Mandatory AES_CBC
Responses
Body
Request body
List of AddonPayments fields
Merchant Password. Provided by AddonPayments
Merchant Identifier. Provider by AddonPayments
Derypto Mode. Mandatory AES_CBC
Responses
Body
Body
Examples
fdsfdsfdsfds
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<payfrex-response operation-size="1">
<operations>
<operation sorted-order="1">
<amount>730.38</amount>
<currency>GBP</currency>
<merchantTransactionId>epgLiveTest001</merchantTransactionId>
<message>3dsv2 - processed</message>
<operationType>DEBIT</operationType>
<payFrexTransactionId>3920459</payFrexTransactionId>
<paymentDetails>
<cardNumberToken>2290567574110080</cardNumberToken>
<extraDetails/>
</paymentDetails>
<service>3DSv2</service>
<status>ERROR3DS</status>
<respCode>
<code>8003</code>
<message>Authentication not completed. Check Service Response</message>
<uuid>e0b1b6ff_480e_4bb5_8049_137025fb6a19</uuid>
</respCode>
<mpi>
<authenticationStatus>N</authenticationStatus>
<threeDSv2Token>fd4a3180-96d1-4b33-a97e-8084440b2581</threeDSv2Token>
</mpi>
<paymentCode>nsN3</paymentCode>
<paymentMessage>Not authenticated</paymentMessage>
</operation>
</operations>
<optionalTransactionParams/>
<status>ERROR3DS</status>
<workFlowResponse>
<id>16299</id>
<name>3dsv2 authentication.</name>
<version>13</version>
</workFlowResponse>
</payfrex-response>
fdsfdsfdsfdsfdsfdsfds
{
"payfrex-response": {
"operation-size": "2",
"message": "WorkFlow has finished successfully, for transaction Id: 1059399",
"operations": [
{
"operation": {
"sorted-order": "1",
"amount": "12.45",
"currency": "GBP",
"message": "Transaction was marked as successful, it has been sent to CaixaBank.",
"merchantTransactionId": "MERCHANT-S1-1550220600",
"operationType": "DEBIT",
"status": "SUCCESS",
"payFrexTransactionId": "1059399",
"details": "{ \"eci\": 2, \"dialIndicator\": \"4\", \"terminalIdentity\": \"92222153\", \"messageNumber\": \"9329\", \"messageType\": \"12\", \"responseCode\": \"00\", \"confirmationRequest\": \"0\", \"authorisationCode\": \"049040\", \"transactionAmount\": 1200, \"textMessage\": \"AUTH CODE:042040, SECURITY CODE MATCH ONLY\", \"floorLimit\": \"000\", \"date\": \"1907\", \"responseAdditionalData\": \"224800\", \"auxiliaryData\": \"\\u001e1002\\u001d00003253190701\\u001e1001\\u001d000043430048918\", \"transactionIdentifier\": \"000001318000011153190701\", \"id\": 29304, \"transactionId\": 1059399, \"paymentTransactionId\": \"0000090011153190701\", \"dateCreated\": \"2021-07-01 13:18:23\", \"dateModified\": \"2021-07-01 13:18:23\", \"method\": \"auth\" }",
"paySolTransactionId": "0000000093990701131800020499MCC5BWRD90011153190701",
"paymentDetails": {
"cardHolderName": "John Doe",
"cardNumber": "411111****1111",
"cardNumberToken": "5473397643141111",
"cardType": "VISA/CREDIT",
"expDate": "0821",
"extraDetails": {
"entry": [
{
"key": "cardCategory",
"value": "Not Available"
}
]
},
"issuerBank": "JPMORGAN CHASE BANK, N.A.",
"issuerCountry": "US",
"account": "7889549"
},
"paymentSolution": "aib",
"respCode": {
"code": "0000",
"message": "Successful",
"uuid": "1f44d785_22ea_4f68_a47d_ad724d644290"
},
"authCode": "049040",
"paymentCode": "00",
"paymentMessage": "AUTH CODE:049040, SECURITY CODE MATCH ONLY",
"rad": "224800",
"radMessage": "CVV2 and Post Code match, Address failure",
"mpi": {
"eci": "02"
},
"service": "",
"redirectionResponse": "",
"optionalTransactionParams": ""
}
}
],
"optionalTransactionParams": {
"entry": [
{
"key": "session-id",
"value": "8dfdaaf9-7270-4d82-9944-89014e78e535"
}
]
},
"status": "ERROR",
"workFlowResponse": {
"id": "2",
"name": "3DS flow",
"version": "3"
}
}
}
https://speca.io/AddonPayments/addonpayments#hosted-integration
- Change image, adding 4 sections and change the group title name
{iD}
/test/url/{path}
/{otherpath}
{iD}
/test/url/{path}
/{otherpath}
Advertisement :)
- pica - high quality and fast image resize in browser.
- babelfish - developer friendly i18n with plurals support and easy syntax.
You will like those projects!
h1 Heading 8-)
h2 Heading
h3 Heading
h4 Heading
h5 Heading
h6 Heading
Horizontal Rules
Typographic replacements
Enable typographer option to see result.
© © ® ® ™ ™ § § ±
test… test… test… test?.. test!..
!!! ??? , – —
“Smartypants, double quotes” and ‘single quotes’
Emphasis
This is bold text
This is bold text
This is italic text
This is italic text
Strikethrough
Blockquotes
Blockquotes can also be nested…
…by using additional greater-than signs right next to each other…
…or with spaces between arrows.
Lists
Unordered
- Create a list by starting a line with
+
,-
, or*
- Sub-lists are made by indenting 2 spaces:
- Marker character change forces new list start:
- Ac tristique libero volutpat at
- Facilisis in pretium nisl aliquet
- Nulla volutpat aliquam velit
- Marker character change forces new list start:
- Very easy!
Ordered
-
Lorem ipsum dolor sit amet
-
Consectetur adipiscing elit
-
Integer molestie lorem at massa
-
You can use sequential numbers…
-
…or keep all the numbers as
1.
Start numbering with offset:
- foo
- bar
Code
Inline code
Indented code
// Some comments
line 1 of code
line 2 of code
line 3 of code
Block code “fences”
Sample text here...
Syntax highlighting
var foo = function (bar) {
return bar++;
};
console.log(foo(5));
Tables
Option | Description |
---|---|
data | path to data files to supply the data that will be passed into templates. |
engine | engine to be used for processing templates. Handlebars is the default. |
ext | extension to be used for dest files. |
Right aligned columns
Option | Description |
---|---|
data | path to data files to supply the data that will be passed into templates. |
engine | engine to be used for processing templates. Handlebars is the default. |
ext | extension to be used for dest files. |
Links
Autoconverted link https://github.com/nodeca/pica (enable linkify to see)
Images
Like links, Images also have a footnote style syntax
With a reference later in the document defining the URL location:
Plugins
The killer feature of markdown-it
is very effective support of
syntax plugins.
Emojies
Classic markup: :wink: :crush: :cry: :tear: :laughing: :yum:
Shortcuts (emoticons): :-) :-( 8-) ;)
see how to change output with twemoji.
Subscript / Superscript
- 19^th^
- H~2~O
<ins>
++Inserted text++
<mark>
==Marked text==
Footnotes
Footnote 1 link[^first].
Footnote 2 link[^second].
Inline footnote^[Text of inline footnote] definition.
Duplicated footnote reference[^second].
[^first]: Footnote can have markup
and multiple paragraphs.
[^second]: Footnote text.
Definition lists
Term 1
: Definition 1 with lazy continuation.
Term 2 with inline markup
: Definition 2
{ some code, part of Definition 2 }
Third paragraph of definition 2.
Compact style:
Term 1 ~ Definition 1
Term 2 ~ Definition 2a ~ Definition 2b
Abbreviations
This is HTML abbreviation example.
It converts “HTML”, but keep intact partial entries like “xxxHTMLyyy” and so on.
*[HTML]: Hyper Text Markup Language
Custom containers
::: warning here be dragons :::
Path variables
This is a description of path
This is a description for other parth argument
Request parameters
Request headers
fdsfds
Responses
Body
Scheame’s description
{
"merchantTransactionId": "",
"country": "ab",
"lastName": "Rempel",
"city": "NSouth Eleonoreville",
"statusURL": "",
"description": "Awesome Soft Shirt",
"language": "lt",
"title": "Miss",
"customerCountry": "CM",
"expDate": "0126",
"merchantId": "10330",
"APIVersion": "3",
"customerEmail": "Brant69@example.net",
"customerId": "epgLiveTest001",
"addressLine1": "c/ & ~ñ Halie Coves",
"currency": "GBP",
"addressLine2": "Ukraine",
"state": "Harberport",
"chName": "Mercedes",
"amount": "11.22",
"productId": "103300003",
"cardType": "visa",
"cvnNumber": "258",
"telephone": "535-715-4364",
"firstName": "Luella",
"paymentSolution": "barclays",
"dob": "24-11-1988",
"operationType": "debit",
"postCode": "11310",
"cardNumber": "5402056926627014",
"merchantParams": "3ds:2",
"threedType": "2",
"[...]": ""
}
ab description
sp descripcion
{
"merchantTransactionId": "",
"country": "sp",
"lastName": "Rempel",
"city": "NSouth Eleonoreville",
"statusURL": "",
"description": "Awesome Soft Shirt",
"language": "lt",
"title": "Miss",
"customerCountry": "CM",
"expDate": "0126",
"merchantId": "10330",
"APIVersion": "3",
"customerEmail": "Brant69@example.net",
"customerId": "epgLiveTest001",
"addressLine1": "c/ & ~ñ Halie Coves",
"currency": "GBP",
"addressLine2": "Ukraine",
"state": "Harberport",
"chName": "Mercedes",
"amount": "11.22",
"productId": "103300003",
"cardType": "visa",
"cvnNumber": "258",
"telephone": "535-715-4364",
"firstName": "Luella",
"paymentSolution": "barclays",
"dob": "24-11-1988",
"operationType": "debit",
"postCode": "11310",
"cardNumber": "5402056926627014",
"merchantParams": "3ds:2",
"threedType": "2",
"[...]": true
}
PAram description
fdfdsfds
Body
Examples
{"payfrex-response": {
"workFlowResponse": {
"name": "JAMIRO CLEARHAUS",
"id": 19951,
"version": 27
},
"operation-size": 1,
"operations": {"operation": {
"amount": "15.00",
"optionalTransactionParams": "",
"payFrexTransactionId": 925583,
"message": "Starting 3DSecure 2.0 process.",
"sorted-order": 1,
"originalPayFrexTransactionId": 3920843,
"redirectionResponse": "redirect:https://checkout.stg-eu-west3.epgint.com/EPGCheckout/rest/online/3dsv2/redirect?action=gatherdevice¶ms=eyJ0aHJlZURTdjJUb2tlbiI6ImUyMjlhOWM0LWVkMTItNDIxYi1iZGQ2LTYxNzE1MjY0N2U0NSIsInRocmVlRFNNZXRob2RVcmwiOiJodHRwczovL2NoZWNrb3V0LnN0Zy1ldS13ZXN0My5lcGdpbnQuY29tL0VQR0NoZWNrb3V0LzNkc3YyL3RocmVlRFNNZXRob2QiLCJ0aHJlZURTTWV0aG9kRGF0YSI6ImV5SjBhSEpsWlVSVFUyVnlkbVZ5VkhKaGJuTkpSQ0k2SW1VeU1qbGhPV00wTFdWa01USXROREl4WWkxaVpHUTJMVFl4TnpFMU1qWTBOMlUwTlNJc0lDSjBhSEpsWlVSVFRXVjBhRzlrVG05MGFXWnBZMkYwYVc5dVZWSk1Jam9nSW1oMGRIQnpPaTh2WTJobFkydHZkWFF1YzNSbkxXVjFMWGRsYzNRekxtVndaMmx1ZEM1amIyMHZSVkJIUTJobFkydHZkWFF2WTJGc2JHSmhZMnN2WjJGMGFHVnlSR1YyYVdObFRtOTBhV1pwWTJGMGFXOXVMM0JoZVhOdmJDOHpaSE4yTWk4NU1qVTFPRE1pZlE9PSIsImJyYW5kIjpudWxsLCJyZXN1bWVBdXRoZW50aWNhdGlvbiI6Imh0dHBzOi8vY2hlY2tvdXQuc3RnLWV1LXdlc3QzLmVwZ2ludC5jb20vRVBHQ2hlY2tvdXQvcmV0dXJudXJsL2ZyaWN0aW9ubGVzcy9wYXlzb2wvM2RzdjIvOTI1NTgzP3RocmVlRFN2MlRva2VuPWUyMjlhOWM0LWVkMTItNDIxYi1iZGQ2LTYxNzE1MjY0N2U0NSIsInJlbmRlckNhc2hpZXJMb2NhdGlvbiI6Imh0dHBzOi8vZXBnanMtcmVuZGVyY2FzaGllci1zdGcuZWFzeXBheW1lbnRnYXRld2F5LmNvbSIsImNoYWxsZW5nZVdpbmRvd3NTaXplIjoiMDUifQ==",
"service": "3DSv2",
"merchantTransactionId": "jamiro2602005",
"currency": "EUR",
"operationType": "DEBIT",
"paymentDetails": {
"cardHolderName": "Esther Melendez Bravo",
"extraDetails": {"entry": [
{
"value": "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ImUyMjlhOWM0LWVkMTItNDIxYi1iZGQ2LTYxNzE1MjY0N2U0NSIsICJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjogImh0dHBzOi8vY2hlY2tvdXQuc3RnLWV1LXdlc3QzLmVwZ2ludC5jb20vRVBHQ2hlY2tvdXQvY2FsbGJhY2svZ2F0aGVyRGV2aWNlTm90aWZpY2F0aW9uL3BheXNvbC8zZHN2Mi85MjU1ODMifQ==",
"key": "threeDSMethodData"
},
{
"value": "e229a9c4-ed12-421b-bdd6-617152647e45",
"key": "threeDSv2Token"
}
]}
},
"status": "REDIRECTED"
}},
"optionalTransactionParams": {"entry": {
"value": 2,
"key": "3ds"
}},
"message": "WorkFlow has finished successfully, for transaction Id: 3920843",
"status": "SUCCESS"
}}