Addon Payments

Welcome
Explore our guides and examples to integrate Online payments into your website.

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,

Choose how to integrate

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.

Next steps

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.
Hosted Integration

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.

Introduction

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.

.NET
Python
PHP
Java

in progress …

 

in progress …

 

in progress …

 

in progress …

 
Quick Start

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.

Request Payment Form

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.

Display Payment Form

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:

Display 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>
Handle the Notification Response

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.

Final Customer Redirection

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.

Customing the payment form

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.

  1. Send the CSS file to AddonPayments.
  2. AddonPayments validates the CSS file for security and functionality. AddonPayments will work with you if your CSS file needs any modifications.
  3. 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.

Customized Hosted Page

// 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
Operations
POST /tokenize?merchantId={merchantId}&encrypted={encrypted}&integrityCheck={integrityCheck}
POST /EPGCheckout/rest/status/merchantcall/repeat?token={token}&merchantId={merchantId}&transactions={transactions}=postback={postback}&url={url}
POST /EPGCheckout/rest/online/statusByDate?merchantId={merchantId}&encrypted={encrypted}&integrityCheck={integrityCheck}
Request Payment Form
POST /tokenize?merchantId={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

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

Request headers

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Responses

200 OK

Return the checkout URl where the merchant has to redirect the customer

Body
text/plain
string url
Example:
https://checkout.stg-eu-west3.epgint.com/EPGCheckout/rest/online/detokenize?token=a2fa7a54-df9a-4e7d-ba38-c00d03b774de&apiVersion=3
Curl
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
Transaction Status
POST /EPGCheckout/rest/status/merchantcall/repeat?token={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

token
string required

Hash MD5 of the following pattern:

{merchantId}.{merchant_transaction_ids}.{merchant_password_MD5Hashed}
Example:
f2768df5cf6574ac5f0c13a71103e984
merchantId
string required

Unique identifier provided by Easy Payment Gateway to the merchant.

Example:
12233
transactions
string required

List of the merchant transaction ids to check the status, separated by ‘;’

Example:
12345;12346;12347
postback
string optional

Flag that re-sends the status of the transaction to the original transaction status URL or to the url parameter, if this is sent.

Enumeration:
0

Do NOT resend the transaction status

1

Re-Send the transaction status to the original statusURL field

Default:
0
Example:
1
url
string url optional

New Transaction status URL where AddonPayments will notify the transaction status

Example:
https://new.url/status
Response
   <operations>
      <operation sorted-order="1">
        <amount>1000.00</amount>
        <currency>EUR</currency>
        <details>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;WIRECARD_BXML
          xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd"&gt;  &lt;W_RESPONSE&gt;    &lt;W_JOB&gt;     &lt;JobID&gt;Pay: 121500&lt;/JobID&gt;      &lt;FNC_CC_PREAUTHORIZATION&gt;       &lt;FunctionID&gt;PreAuthorization: 121500&lt;/FunctionID&gt;       &lt;CC_TRANSACTION&gt;          &lt;TransactionID&gt;1234565451&lt;/TransactionID&gt;         &lt;PROCESSING_STATUS&gt;           &lt;GuWID&gt;C663888151732364718789&lt;/GuWID&gt;           &lt;AuthorizationCode&gt;366975&lt;/AuthorizationCode&gt;           &lt;Info&gt;THIS IS A DEMO TRANSACTION USING CREDIT CARD NUMBER 420000****0000. NO REAL MONEY WILL BE TRANSFERED.&lt;/Info&gt;            &lt;StatusType&gt;INFO&lt;/StatusType&gt;           &lt;FunctionResult&gt;ACK&lt;/FunctionResult&gt;            &lt;TimeStamp&gt;2018-01-30 15:47:27&lt;/TimeStamp&gt;          &lt;/PROCESSING_STATUS&gt;        &lt;/CC_TRANSACTION&gt;     &lt;/FNC_CC_PREAUTHORIZATION&gt;    &lt;/W_JOB&gt;  &lt;/W_RESPONSE&gt;&lt;/WIRECARD_BXML&gt;
        </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>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;WIRECARD_BXML
          xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd"&gt;  &lt;W_RESPONSE&gt;    &lt;W_JOB&gt;     &lt;JobID&gt;Capture: 121500&lt;/JobID&gt;      &lt;FNC_CC_CAPTURE&gt;        &lt;FunctionID&gt;Capture: 121500&lt;/FunctionID&gt;        &lt;CC_TRANSACTION&gt;          &lt;TransactionID&gt;1234565451&lt;/TransactionID&gt;         &lt;PROCESSING_STATUS&gt;           &lt;GuWID&gt;C953442151732364876429&lt;/GuWID&gt;           &lt;AuthorizationCode&gt;366975&lt;/AuthorizationCode&gt;           &lt;Info&gt;THIS IS A DEMO TRANSACTION USING CREDIT CARD NUMBER 420000****0000. NO REAL MONEY WILL BE TRANSFERED.&lt;/Info&gt;            &lt;StatusType&gt;INFO&lt;/StatusType&gt;           &lt;FunctionResult&gt;PENDING&lt;/FunctionResult&gt;            &lt;TimeStamp&gt;2018-01-30 15:47:28&lt;/TimeStamp&gt;          &lt;/PROCESSING_STATUS&gt;        &lt;/CC_TRANSACTION&gt;     &lt;/FNC_CC_CAPTURE&gt;   &lt;/W_JOB&gt;  &lt;/W_RESPONSE&gt;&lt;/WIRECARD_BXML&gt;
        </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>
Transaction Status by Date
POST /EPGCheckout/rest/online/statusByDate?merchantId={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

merchantId
string required

Unique identifier provided by Easy Payment Gateway to the merchant.

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

Request
Response
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>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;WIRECARD_BXML
          xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd"&gt;  &lt;W_RESPONSE&gt;    &lt;W_JOB&gt;     &lt;JobID&gt;Pay: 121500&lt;/JobID&gt;      &lt;FNC_CC_PREAUTHORIZATION&gt;       &lt;FunctionID&gt;PreAuthorization: 121500&lt;/FunctionID&gt;       &lt;CC_TRANSACTION&gt;          &lt;TransactionID&gt;1234565451&lt;/TransactionID&gt;         &lt;PROCESSING_STATUS&gt;           &lt;GuWID&gt;C663888151732364718789&lt;/GuWID&gt;           &lt;AuthorizationCode&gt;366975&lt;/AuthorizationCode&gt;           &lt;Info&gt;THIS IS A DEMO TRANSACTION USING CREDIT CARD NUMBER 420000****0000. NO REAL MONEY WILL BE TRANSFERED.&lt;/Info&gt;            &lt;StatusType&gt;INFO&lt;/StatusType&gt;           &lt;FunctionResult&gt;ACK&lt;/FunctionResult&gt;            &lt;TimeStamp&gt;2018-01-30 15:47:27&lt;/TimeStamp&gt;          &lt;/PROCESSING_STATUS&gt;        &lt;/CC_TRANSACTION&gt;     &lt;/FNC_CC_PREAUTHORIZATION&gt;    &lt;/W_JOB&gt;  &lt;/W_RESPONSE&gt;&lt;/WIRECARD_BXML&gt;
        </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>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;WIRECARD_BXML
          xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wirecard.xsd"&gt;  &lt;W_RESPONSE&gt;    &lt;W_JOB&gt;     &lt;JobID&gt;Capture: 121500&lt;/JobID&gt;      &lt;FNC_CC_CAPTURE&gt;        &lt;FunctionID&gt;Capture: 121500&lt;/FunctionID&gt;        &lt;CC_TRANSACTION&gt;          &lt;TransactionID&gt;1234565451&lt;/TransactionID&gt;         &lt;PROCESSING_STATUS&gt;           &lt;GuWID&gt;C953442151732364876429&lt;/GuWID&gt;           &lt;AuthorizationCode&gt;366975&lt;/AuthorizationCode&gt;           &lt;Info&gt;THIS IS A DEMO TRANSACTION USING CREDIT CARD NUMBER 420000****0000. NO REAL MONEY WILL BE TRANSFERED.&lt;/Info&gt;            &lt;StatusType&gt;INFO&lt;/StatusType&gt;           &lt;FunctionResult&gt;PENDING&lt;/FunctionResult&gt;            &lt;TimeStamp&gt;2018-01-30 15:47:28&lt;/TimeStamp&gt;          &lt;/PROCESSING_STATUS&gt;        &lt;/CC_TRANSACTION&gt;     &lt;/FNC_CC_CAPTURE&gt;   &lt;/W_JOB&gt;  &lt;/W_RESPONSE&gt;&lt;/WIRECARD_BXML&gt;
        </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>
Host to Host Integration

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.

Introduction

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:

  1. Website - Build a website with a form that collects payment and customer information.
  2. 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.
  3. Handle the response - The response message from AddonPayments includes transaction status information and any details required to redirect your customer.
Quick Start
1. Website

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.

2. Build, Encrypt, and Submit the Transaction Request

All requests to the EPG API must be encrypted, following the encryption steps, click for more details, Encryption.

  1. Concatenate the parameters into a single string with the following format:

param1=value1&param2=value2…&paramN=valueN

  1. Hash your merchant password using the MD5 algorithm. You will set your merchant password with EPG when you set up your account.
  2. Encrypt the parameter string using the AEScipher algorithm. Use your hashed merchant password as the key.
  3. Hash the unencrypted parameter string using the SHA256 algorithm. This hashed value will serve as an integrity check after EPG decrypts the parameters.
  4. 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

  1. 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&currency=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.

3. Handle the Response

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.

Operations
JavaScript Integration
JavaScript
Quick Guides
Encryption

To protect your customers, EPG requires that you encrypt many of the requests. Encrypted requests must be sent by your backend. EPG will not accept encrypted requests from your application’s frontend. The steps below describe the encryption process:

Steps
  1. 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&param2=value2…&paramN=valueN

  1. 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

  1. 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.
  2. 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

  1. 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

  1. Set header parameters:

    • encryptionMode: CBC
    • iv: Initial Vector value, encoded on base64.
    • apiVersion: 3
  2. 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.
Steps
    // Step 1
    var rawFields = "param1=value1&param2=value2&param3=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

Java

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

Java

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
encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Request/Response Payload
Request Fields

This section contains information ragrding the list of parameters to encrypt.

Note Each payment solution requires differente parameters. So, please refer to XXXXXXXXXX.

Redsys
Barclays
PayPal Request

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
}
General Fields
Transaction Parameters
Object
amount
number float required

Total amount of transaction. Use ‘.’ as decimal separator

Example:
100.22
apiVersion
string string

The version of API. AddonPayments will provide this information as part of the onboarding process

Enumeration:
2
3
2.1
country
string string required

Country of the customer ISO-3166 2 digit code

Min length: 2
Max length: 2
Example:
ES
currency
string string

Currency of the transaction ISO-4217, 3 digit code

Min length: 3
Max length: 3
Example:
EUR
description
string string required

Description of the transaction that is taken place. No more than 500 characters

Max length: 500
Example:
A transaction test
merchantId
integer required

This is the unique identifier provided by AddonPayments to the merchant

Example:
100001
merchantParams
string string

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.

Example:
opKeyX:value1;opKeyY:value2;opKeyZ:value3
merchantTransactionId
string required

Merchant’s unique transaction id. No more than 45 characters

Max length: 45
Example:
MER-12345
operationType
string required

This parameter can be used to define if the transaction is to be a DEBIT or a CREDIT. Default value is DEBIT.

Enumeration:
DEBIT

Debit operation. Customer to Merchant operation.

CREDIT

Credit Operation. Merchant to Customer operation.

Default:
DEBIT
paymentSolution
string

Name of the payment solution required (i.e. paypal, skrill, creditcards, etc).

Enumeration:
creditcards
paypal
Example:
creditcards
paymentMethod
string

Sub payment method inside of the payment method will be executed

Example:
AliPay
productId
integer

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

Example:
211002
transactionId
string

AddonPayments pre-auth transaction id. It is ONLY required for secondary operation types: VOID, CAPTURE, REFUND, REBATE

Example:
578439
Example 1
{
    "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"
}
Customer Parameters
Object
customerId
string required

Unique customer id provided by merchant

Example:
MerCustomer1234
addressLine1
string

Customer’s address (first part)

Max length: 50
Example:
Test street no. 1
addressLine2
string

Customer’s address (second part)

Max length: 50
Example:
Floor 3, ap. 2
buildingName
string

Customer’s building name

Example:
Testing Building
buildingNumber
string

Customer’s building number

Example:
T-43
city
string

Customer’s city

Max length: 50
Example:
Testing City
customerNationalId
string

Customer’s nationality id

Example:
TE123456
customerNationalIdType
string

Customer’s national type

Example:
TID
dob
string date(yyyy-MM-dd)

Date of birth. Format: yyyy-MM-dd

Example:
12-31-1999
firstName
string

Customer’s first name

Example:
Tester
language
string

Customer’s language in iso code 2.

Min length: 2
Max length: 2
Example:
en
lastName
string

Customer’s last name

Example:
Test
phoneCode
string

Phone number code

Example:
341
postCode
string

Customer’s post code

Max length: 16
Example:
TE3451222
state
string

Customer’s state or province

Examples:
MICádiz
telephone
string

Customer’s telephone number

Example:
618973366
customerCountry
string

Customer’s country in ISO-3166 2 digit code

Min length: 2
Max length: 2
Example:
ES
Example 1
{
    "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"
}
Notification Parameters
Object
statusURL
string required

URL where the merchant would like AddonPayments to automatically send the status of the payment.

Example:
http://www.merchant.com/notification
successURL
string

URL where the merchant would like AddonPayments to redirect the customer upon a successful payment. Recommended

Example:
http://www.merchant.com/success.html
errorURL
string

URL where the merchant would like AddonPayments to redirect the customer upon an erroneous payment. Recommended

Example:
http://www.merchant.com/error.html
cancelURL
string

URL where the merchant would like AddonPayments to redirect the customer after the customer has decided to cancel the payment.

Example:
http://www.merchant.com/cancel.html
awaitingURL
string

URL where the merchant would like to redirect the customer if the transaction is in pending on the payment solution side.

Example:
htps://www.merchant.com/awaiting.html
Example 1
{
    "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"
}
Optional Merchant Parameters

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

Object
merchantParams
string
Example:
opKeyX:value1;opKeyY:value2;opKeyZ:value3
Example 1
{
    "merchantParams": "opKeyX:value1;opKeyY:value2;opKeyZ:value3"
}
Card Transaction Fields
Card Paramters
Object
cardNumber
string required

Card Number. This number has to be validated by Luhn Check algoritm

Example:
4200000000000000
expDate
string mmyy required

Card exprired date in the follow format: mmyy

Example:
1222
cvnNumber
string required

Card CVN. By default the number is a 3 digit but some cards could be 4 digits

Min length: 3
Max length: 4
Example:
012
chName
string required

Card holder name

Example:
Jonathan Gonzalez
cardType
string

Card type supported

Enumeration:
visa
mastercard
amex
cardNumberToken
string

AddonPayments card number token.

Min length: 16
Max length: 20
Example:
4204854954380000
Example 1
{
    "cardNumber": "4200000000000000",
    "expDate": "1222",
    "cvnNumber": "012",
    "chName": "Jonathan Gonzalez",
    "cardType": "visa",
    "cardNumberToken": "4204854954380000"
}
Card Holder Parameters
Object
chAddress1
string

Card holder address, first part

Example:
51 Green house
chAddress2
string

Card holder address, second part

Example:
Block 3 second floor
chCity
string

Card Holder City

Example:
Shelby
chCountry
string
Example:
GB
chEmail
string

Card Holder Email

Example:
john@gonzalez.com
chFirtName
string

Card Holder first name

Example:
John
chLastName
string

Card Holder Last Name

Example:
Gonzalez
chPhone
string

Card Holder Phone

Example:
44669934872
chPostCode
string

Card Holder Post Code

Example:
Y08 6EL
chState
string

Credit Card Holder state (Recommended for US and CA)

Example:
CA
cardLimits
string

Number of maximum number of card by customer

Example:
3
Example 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"
}
3DS Fields
Object
threedParams
string

MPI Parameters return for the authentication with credit card. Only for External MPI.

Example 1
{
    "threedParams": ""
}
Hosted Style Fields
Customize Hosted Payment Form
Object
checkoutTitle
string

Desired check out title. Default is empty.

Example:
AddonPayments Checkout Title
title
string

Desired check out title. Default is empty.

Example:
Checkout Title
subTitle
string

Desired check out subtitle. Default is empty.

Example:
Please confirm the amount and proceed
backgroundColor
string RGB Hex Code String [#RRGGBB]

Desired colour for checkout background colour. Default is White.

Default:
#FFFFFF
Example:
Olive -> `#808000`
topLogo
string url

URL of the merchant’s logo that can be shown at the top of the checkout page

Example:
http://www.merchant.com/images/top-logo.png
bottomLogo
string url

URL of the merchant’s logo that can be shown at the bottom of the checkout page.

Example:
http://www.merchant.com/images/logo.png
fontColour
string

Desired colour for checkout font colour. Default is black.

Default:
#000000
Example:
Navy -> `#000080`
fontFamily
string

Desired type for checkout fonts (arial, verdana, times new roman)

Example:
arial
fontSize
integer

Desired size for checkout fonts. Default is 12

Default:
12
Example:
10
Example 1
{
    "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
}
PayPal Fields
Paypal Parameters
Object
amountMaxOnDemand
integer

Amount maximum on demand

Example:
50
Example 1
{
    "amountMaxOnDemand": 50
}
3D Secure
Account Information Parameters
Object
accountAge
string

Length of time that the cardholder has had the account with the commerce

Enumeration:
01

No account (guest check-out)

02

During this transaction

03

Less than 30 days

04

Between 30 and 60 days

05

More than 60 days

Example:
02
accountCreationDate
string YYYY-MM-DD

Registration date (UTC) of the consumer’s account in the merchant’s shop.

For guest checkout, do not send this field.

Example:
2001-12-31
accountChangeDate
string YYYY-MM-DD

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.

Example:
2001-12-31
accountChangeInd
string

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.

Enumeration:
01

Changed during this transaction

02

Less than 30 days

03

Between 30 and 60 days

04

More than 60 days

passwordChangeDate
string YYYY-MM-DD

Date that the consumer last changed/reset their password in the merchant’s shop.

For guest checkout, do not send this field.

Example:
2001-12-31
passwordChangeInd
string

Indicates the last password modification.

Enumeration:
01

No change

02

During this transaction

03

Less than 30 days

04

Between 30 and 60 days

05

More than 60 days

Example:
02
shippingAddressUsage
string YYYY-MM-DD

Date that the consumer first used this shipping address in the merchant’s shop.

For guest checkout, do not send this field.

Example:
2001-12-31
shippingAddressUsageInd
string

Indicates the first time the shipping address was used.

Enumeration:
01

Changed during this transaction

02

Less than 30 days

03

Between 30 and 60 days

04

More than 60 days

Example:
01
txnActivityDay
string

Number of transactions (successful, failed, and canceled) that the consumer has attempted in the past 24 hours.

Does not include merchant-initiated transactions.

Max length: 3
Example:
11
txnActivityYear
string

Number of transactions (successful, failed, and canceled) that the consumer has attempted within the past year.

Does not include merchant-initiated transactions.

Max length: 3
Example:
12
provisioningAttemptsDay
string

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.

Max length: 3
Example:
5
purchasesLast6Months
string

Number of successful orders by the consumer in the merchant’s shop within the past 6 months.

Max length: 3
Example:
22
shippingNameInd
boolean

Indicates if the cardholder name is equals to to the shipping name.

  • false: Account Name different than shipping Name
  • true: Account Name identical to shipping Name
Default:
true
paymentAccountAge
string YYYYMMDD

Date when the client payment account was registered in the merchant (YYYYMMDD)

Example:
20001231
paymentAccountInd
string

Indicates the period when the payment account was inscribed in the merchant account.

Enumeration:
01

No account (guest check-out)

02

During this transaction

03

Less than 30 days

04

Between 30 and 60 days

05

More than 60 days

Example:
05
suspiciousAccountActivityInd
boolean

Indicates if the merchant knows of suspicious activities by the consumer (e.g. previous fraud).

  • false: No suspicious activity has been observed
  • true: Suspicious activity has been observed
Example:
true
3DSv2 Account Information
{
    "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
}
Browser Information Parameters
Object
acceptHeader
string

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.

Max length: 2,048
Example:
text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8
userAgent
string

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.

Max length: 256
Example:
Mozilla/5.0 (Macintosh; Intel Mac OS X 11.2; rv:86.0) Gecko/20100101 Firefox/86.0
javaEnabled
boolean

Boolean that represents the ability of the cardholder browser to execute Java.

// Value is returned from below code
navigator.javaEnabled()
  • false: disabled
  • true: enabled

Required when jsEnabled=true otherwise Optional

Example:
false
jsEnabled
boolean

Boolean that represents the ability of the cardholder browser to execute Javascript.

  • false: disabled
  • true: enabled
Example:
true
browserLanguage
string

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
Min length: 1
Max length: 8
Example:
en-GB
browserIp
string

Customer Browser IP address.

Example:
219.22.33.12
screenWidth
integer

Total width of the cardholder’s screen in pixels.

// Value is returned from below property 
screen.width

Required when jsEnabled=true otherwise Optional

Example:
703
screenHeight
integer

Total height of the cardholder’s screen in pixels.

// Value is returned from below property 
screen.height

Required when jsEnabled=true otherwise Optional

Example:
333
browserTZ
integer

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

Example:
-300
screenColorDepth
integer

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

Enumeration:
1

1 bit

4

4 bits

8

8 bits

15

15 bits

16

16 bits

24

24 bits

30

30 bits

32

32 bits

48

48 bits

Example:
24
challengeWindowSize
string

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.

Enumeration:
01

250 X 400

02

390 x 400

03

500 x 600

04

600 x 400

05

Full screen (default)

Default:
05
Example:
01
3DSv2 Browser Information
{
    "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"
}
Risk Information Parameters
Object
reorderItems
boolean

The consumer has previously ordered the same item.

  • true: First-time order
  • false: Reorder
Example:
true
preOrderDate
string YYYYMMDD

Expected shipping date for pre-ordered goods

Example:
20001231
preOrderPurchaseInd
boolean

Indicates if the order is available or a future release

  • true: Merchandise available
  • false: Future availability
Example:
false
giftCardAmount
string

For prepaid or gift card purchase, the purchase amount total of prepaid or gift card(s)

Max length: 15
Example:
22.33
giftCardCount
string

For prepaid or gift card purchase, total count of individual prepaid or gift cards/codes purchased.

Max length: 2
Example:
1
giftCardCurrency
string ISO_4217 - 3 digit code

For prepaid or gift card purchase, ISO 4217 three-digit currency code of the gift card.

Example:
EUR
3DSv2 Risk Information
{
    "reorderItems": true,
    "preOrderDate": "20001231",
    "preOrderPurchaseInd": true,
    "giftCardAmount": "22.33",
    "giftCardCount": "1",
    "giftCardCurrency": "EUR"
}
Shipping Address Parameters
Object
shippingCity
string

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.

Max length: 50
Example:
London
shippingCountry
string ISO 3166-1 alpha-2 country code

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.

Max length: 2
Example:
GB
shippingAddress1
string

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.

Max length: 50
Example:
Oxford Street, 1
shippingAddress2
string

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.

Max length: 50
Example:
Block 3
shippingZipCode
string

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.

Max length: 16
Example:
W1D 1BS
shippingState
string Country Subdivision code defined in ISO 3166-2

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.

Max length: 2
Example:
MI
shippingMethodInd
string

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.

Enumeration:
01

Ship to cardholder’s billing address

02

Ship to another address known to and 03 Ship to an address that differs from the consumer’s billing address.

03

Ship to address that is different than the cardholder’s billing address

04

‘Ship to Store’ / Pick-up at local store (Store address shall be populated in shipping address fields)

05

Digital goods (includes online services, electronic gift cards and redemption codes)

06

Travel and Event tickets, not shipped

07

Other (for example, Gaming, digital services not shipped, emedia subscriptions, etc.)

Example:
07
deliveryEmail
string

For Electronic delivery, the email address to which the merchandise was delivered.

Max length: 254
Example:
customer@shop.me
deliveryTimeframe
string

Indicates the merchandise delivery timeframe.

Enumeration:
01

Electronic delivery

02

Same day shipping

03

Overnight shipping

04

Two or more days shipping

Example:
04
shippingAddressMatch
string

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
Example:
false
3DSv2 Shipping Information
{
    "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 Information Parameters
Object
paymentRecurringExpiry
string YYYYMMDD

Recurring payment expiry date (YYYYMMDD)

Example:
20001231
paymentRecurringFrecuency
integer

Recurring payment frequency

Example:
12
Recurring Information
{
    "paymentRecurringExpiry": "20001231",
    "paymentRecurringFrecuency": 12
}
Requestor Authentication Parameters
Object
authData
string
authMethod
string

Authentication method used to merchant authentication.

Enumeration:
01

No 3DS requestor

02

Login using own credentials

03

Login using federated ID

04

Login using issuer credentials

05

Login using third party authentication

06

Login using FIDO authentication

07

Login using FIDO assurance data signed

08

SRC assurance data

authTimestamp
string YYYYMMDDHHMM

Authentication date and time

Example:
200012312359
Requestor Authentication Info
{
    "authMethod": "06",
    "authTimestamp": "200012312359"
}
Requestor Prior Authentication Parameters
Object
priorAuthData
string
Max length: 2,048
priorAuthMethod
string

Authentication method used in the previous authentication.

Enumeration:
01

frictionless

02

Challenge

03

AVS verified

04

Other issuer methods

Example:
02
priorAuthTimestamp
string YYYYMMDDHHMM

Authentication date and time

Example:
200012312459
priorACSTransIDRef
string

Previous authentication reference

Prior Authentication Info
{
    "priorAuthMethod": "02",
    "priorAuthTimestamp": "200012312459"
}
Exemption Parameters
Object
merchantExemptionsSca
string

Semicolon separated values containing the Merchant proposed exemptions by priority.

Enumeration:
LWV

Low Value Transaction

TRA

Transaction Risk Analysis

COR

Corporate payment

MIT

Merchant Initiated

Example 1
{
    "merchantExemptionsSca": "LWV,TRA"
}
Response Fields
AddonPayment Response
Object
payfrex-response
Object required

Main AddonPayment response object which contains the information relative to the request.

operation-size
string required

Number of Workflow’s operations

Example:
2
message
string

Workflow’s message

Example:
WorkFlow has finished successfully, for transaction Id: 1059399
operations

List of Workflow operations

optionalTransactionParams
Object

Merchant Optional Transaction Parameters that has been sent in the request.

entry
Array

Key/Value item

Object
key
string

Optional Transaction Parameter Key

Example:
session-id
value
string

Optional Transaction Parameter Value

Example:
8dfdaaf9-7270-4d82-9944-89014e78e535
status
string

Workflow Status. This valu

Enumeration:
SUCCESS
ERROR
FAIL
workFlowResponse

Matched wrokflow that process the request. If the request does not match any workflow, then this property is NULL

Redsys Response SUCCESS
Redsys Response ERROR
PayPal SUCCESS
Example 4
Example 5
Example 6
Example 7
Example 8
Example 9

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"
        }
    }
}
Operation Response Object
Object
operation
Object

Workflow operation Object

sorted-order
string required

Sorted operation number. Starting from 1.

Example:
1
amount
string xx.yy required

Payment amount. Matching with the requested amount.

Example:
12.45
currency
string required

Currency of the transaction ISO-4217, 3 digit code

Min length: 3
Max length: 3
Example:
GBP
message
string

Operation’s message that is generated by AddonPayments

Max length: 1,024
Example:
Transaction was marked as successful, it has been sent to CaixaBank.
merchantTransactionId
string Alphanumeric required

Merchant Transaction Id

Max length: 45
Example:
MERCHANT-S1-1550220600
operationType
string required

Operation Type

Enumeration:
DEBIT

Debit or Deposit operation

CREDIT

Credit or Withdraw operation

VOID

Void operation (required a previous DEBIT operation)

REBATE

Rebate operation (required a previous DEBIT operation)

REFUND

Refund operation (required a previous DEBIT operation)

ACCOUNT_REGISTRATION

Acctoun has been registered by JavaScript Integration

Example:
DEBIT
status
string required

Operation Status

Enumeration:
INITIATED

Operation is initiated.

PENDING

Operation which required a new operation to reach a final Status.

SUCCESS

Operation completed successfully by the payment solution Final Status

FAIL

Operation fails processing the payment Final Status

ERROR

Operation has been declined or rejected by the payment solution Final Status

VOIDED

Debit operation has been voided successfully Final Status

REBATED

Debit operation has been rebated successfully Final Status

REJECTED

Debit operation has been rejected successfully Final Status

REDIRECTED

Operation requires a customer redirection to payment solution domain. For instance 3DSecure Challenge page

AWAITING_PAYSOL

Operation that requires a payment solution notification to get completed

SUCCESS3DS

Authentication has been completed successfully 3DS Final Status

ERROR3DS

Authentication has been declined or cancelled by the customer 3DS Final Status

Example:
SUCCESS
payFrexTransactionId
string required

Internal AddonPayments Operation Idenfier

Max length: 20
Example:
1059399
details
string

Payment solution response in raw format.

Example:
{ "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
string

Payment solution transaction idenfifier

Example:
0000000093990701131800020499MCC5BWRD90011153190701
paymentDetails
Object

Special payment details

cardHolderName
string

Card holder name

Example:
John Doe
cardNumber
string

Masked card number (first 6 and last 4 digits)

Example:
411111****1111
cardNumberToken
string

Internal AddonPayment token

Example:
5473397643141111
cardType
string

Card details type

Example:
VISA/CREDIT
expDate
string MMYY

Card expired date

Example:
0821
extraDetails
Object

KeyValue property which includes some extra details

entry
Array
Object
key
string

Extra details’ key

Example:
cardCategory
value
string

Extra details’ value

Example:
Not Available
issuerBank
string

Card Issuer bank name

Example:
JPMORGAN CHASE BANK, N.A.
issuerCountry
string

Card Issuer country

Example:
US
account
string

Wallet or payment customer account number

Example:
7889549
paymentSolution
string

Payment solution name. Refer to List of available payment solution section

Enumeration:
CreditCards
Barclays
aib
respCode
Object

Internal AddonPayment response code

code
string

Internal response code number

Min length: 0
Max length: 99,999
Example:
0000
message
string

Internal response message

Example:
Successful
uuid
string

Internal UUID that match with the operation

Example:
1f44d785_22ea_4f68_a47d_ad724d644290
authCode
string

Authorization Auth code

Min length: 6
Max length: 6
Example:
049040
paymentCode
string

Original payment solution response code

Example:
00
paymentMessage
string

Orinal payment solution response message

Example:
AUTH CODE:049040, SECURITY CODE MATCH ONLY
rad
string

Authorization response additinal data value. (Only supported for some card adquirers)

Example:
224800
radMessage
string

Authorization response additional data message (Only supported for some card adquirers)

Example:
CVV2 and Post Code match, Address failure
mpi
Object
eci
string
Example:
02
service
string
redirectionResponse
string
optionalTransactionParams
string
Example 1
{
    "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": ""
    }
}
Workflow Response Object

Operation Workflow that has been performed. The number of operations depends in the Workflow and the version.

Object
id
string required

Workflow identifier

Example:
2
name
string required

Workflow name

Max length: 45
Example:
3DS flow
version
string required

Workflow version number. It increases everytime a workflow is modified and saved by the AddonPayments Backoffice.

Example:
3
Example 1
{
    "id": "2",
    "name": "3DS flow",
    "version": "3"
}
Payment Solution examples
Redsys

Here you could find some Redsys use cases.

POST /token
POST /ttttt
POST /fdfsd
Redsys - DEBIT
POST /token

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 in SALE mode.

Request parameters

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

Request headers

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Responses

201 Created
SUCCESS RAW Request
ERROR RAW Request

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
Redsys - CREDIT
POST /ttttt

Request parameters

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

Request headers

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Responses

200 OK
SUCCESS
ERROR

fdsfdsfds

fdsfds
fdsfdsf
Redsys - 3DS
POST /fdfsd
PayPal

PayPal example

POST /token
POST /token
PayPal - DEBIT
POST /token

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 in SALE mode.

Request parameters

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

Request headers

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Responses

201 Created
SUCCESS RAW Request
ERROR RAW Request

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
PayPal - CREDIT
POST /token

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 in SALE mode.

Request parameters

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

Request headers

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Responses

201 Created
SUCCESS RAW Request
ERROR RAW Request

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
Alternative Solutions

Other payment solutions

P24
POST /token
POST /token
P24 - DEBIT
POST /token

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 in SALE mode.

Request parameters

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

Request headers

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Responses

201 Created
SUCCESS RAW Request
ERROR RAW Request

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
P24 - CREDIT
POST /token

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 in SALE mode.

Request parameters

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

Request headers

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Responses

201 Created
SUCCESS RAW Request
ERROR RAW Request

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
IDeal
POST /token
POST /token
IDeal - DEBIT
POST /token

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 in SALE mode.

Request parameters

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

Request headers

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Responses

201 Created
SUCCESS RAW Request
ERROR RAW Request

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
IDeal - CREDIT
POST /token

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 in SALE mode.

Request parameters

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

Request headers

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Responses

201 Created
SUCCESS RAW Request
ERROR RAW Request

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
Poli
POST /token
POST /token
Poli - DEBIT
POST /token

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 in SALE mode.

Request parameters

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

Request headers

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Responses

201 Created
SUCCESS RAW Request
ERROR RAW Request

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
Poli - CREDIT
POST /token

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 in SALE mode.

Request parameters

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

Request headers

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Responses

201 Created
SUCCESS RAW Request
ERROR RAW Request

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
Alipay
POST /token
POST /token
Alipay - DEBIT
POST /token

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 in SALE mode.

Request parameters

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

Request headers

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Responses

201 Created
SUCCESS RAW Request
ERROR RAW Request

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
Alipay - CREDIT
POST /token

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 in SALE mode.

Request parameters

encrypted
string required

Encrypted parameters using appropriate algorithm. See the Encryption section for details.

Go to Online Tools for more information:

integrityCheck
string required

Integrity check encryption. See the Encryption section for details.

merchantId
string required

Unique identifier provided by AddonPayments to the merchant.

Request headers

apiVersion
string required

The version of the API. It could affect the transaction response.

encryptionMode
string required

Used encryption mode (CBC). See the Encryption section for details.

Enumeration:
CBC
Example:
CBC
iv
string required

Initial Vector used for CBC encryption. The value should be encoded on base64. See the Encryption section for details.

Responses

201 Created
SUCCESS RAW Request
ERROR RAW Request

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
Online Tools
Encryption
Parse JSON to RAW format
POST /parse

Request body

Object
decrypted

List of AddonPayments fields

Responses

201 Created
Body
Object
decrypted
string required
Example:
amount=100.22&apiVersion=2.1&country=ES&currency=EUR&description=A%20transaction%20test&merchantId=100001&merchantParams=opKeyX:value1;opKeyY:value2;opKeyZ:value3&merchantTransactionId=MER-12345&operationType=DEBIT&paymentSolution=creditcards&paymentMethod=AliPay&productId=211002&transactionId=578439&customerId=MerCustomer1234&addressLine1=Test%20street%20no.%201&addressLine2=Floor%203,%20ap.%202&buildingName=Testing%20Building&buildingNumber=T-43&city=Testing%20City&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&cardNumber=4200000000000000&expDate=1222&cvnNumber=012&chName=Jonathan%20Gonzalez&cardType=mastercard&cardNumberToken=1&chAddress1=51%20Green%20house&chAddress2=Block%203%20second%20floor&chCity=Shelby&chCountry=GB&chEmail=john@gonzalez.com&chFirtName=John&chLastName=Gonzalez&chPhone=44669934872&chPostCode=Y08%206EL&chState=CA&cardLimits=3&threedParams=&checkoutTitle=AddonPayments%20Checkout%20Title&title=Checkout%20Title&subTitle=Please%20confirm%20the%20amount%20and%20proceed&backgroundColor=Olive%20-%3E%20%60#808000%60&topLogo=http://www.merchant.com/images/top-logo.png&bottomLogo=http://www.merchant.com/images/logo.png&fontColour=Navy%20-%3E%20%60#000080%60&fontFamily=arial&fontSize=10&amountMaxOnDemand=50
Encrypt CBC - JSON format
POST /encrypt/json

Request body

Object
decrypted

List of AddonPayments fields

password
string required

Merchant Password. Provided by AddonPayments

Example:
87b8c731eb8efc294ac6396ea75c50b0
iv
string required
Example:
AcynMwikMkW4c7+mHtwtfw==
merchantId
string required

Merchant Identifier. Provider by AddonPayments

Example:
10330
cryptoMode
string required

Derypto Mode. Mandatory AES_CBC

Example:
AES_CBC

Responses

201 Created
Body
Object
merchantId
string
Example:
10330
encrypted
string
Example:
XOvAkd/MqpkSw809obl7qa2ivxvMTRLVCvCQ+GZMUfcogkqTxFkMlOLZDvjUrCGdnPklkOVXz0TAZRG0AG0yd6csPaywKM4i+7VFQo/X1PAfPLfa/b7V7l3jM1cN0SyO/R7XqEElpnzPKo5XxH5OORf/QUS4IHIHeu2WoJlr1YbE8k9G0kcl5JIqXrv4RBOYAf/EPrcohYwXoK8DWGUGVXfSbEejchR0JL1XTo6I0QggGU1rswLw74FcjWZ4sQsZCfcs+Wj7pXit8lMwkJZY0Xa7OwapF7IT4hJcVQIvRbbgx1sWmwASxXqRW8jxy4HA83CQkZic+hszPqhkN9L/Qr97CVeQAahyT8BFgfEaOd4OOh7hCieLGfx8TjNdLXuvV9cFmRQDlm50JLCPqq5Rub02qFsCoL37yhUItuN//tAIW9e+jfRB6uZNNTk0CjmVH3W+vgPugpLN5lg7o5U4a/X0QxrcnUmMhzgVF3qlCgMXlpLJKbSFk3IRkPOxeI2Xsvnj/lW8gXeuuPLtg85wmPnfmUkb44Cd3XRbGerbkLG8lQ/RbO3OUZqgQzMODD4P2XS9sKbhZf9pn2xwNqd+id4cEP0LpjMTPA1NZdroSvdC4M29sdnM39zOUCbSC0pjiP424siKd3f6qNmSoljubZ0TnGKOUXvwi8LSgQlCuQ61K76pPK5i0gV4rbDoXECpejxNrFOpX9W4IYSCYmE/oAJOE1oVw1MTEGWPsQtiS49cNZ1/sltSZgjZVKNJ8qhaCvwm++JZ0Sib8ggmMeBMEOmDVbiO/AHK0cT2adL/e20SGh53XgYzb27AuGOeBywLY/02XfJB5++rrpg3n32N3g1Q7rQdW2uWYEZvDi8qTBPKGVBMtdAftLzxa2VhzR46
integrityCheck
string
Example:
b73570c9f6830810eb39aa25726e5a52b5849f88a6c9b914a3f2a7fc015637a0
cryptoMode
string
Example:
CBC
initialVector
string
Example:
AcynMwikMkW4c7+mHtwtfw==
Encrypt CBC - RAW format
POST /encrypt

Request body

Object
decrypted
string required

List of AddonPayments fields

Example:
amount=100.22&apiVersion=2.1&country=ES&currency=EUR&description=A%20transaction%20test&merchantId=100001&merchantParams=opKeyX:value1;opKeyY:value2;opKeyZ:value3&merchantTransactionId=MER-12345&operationType=DEBIT&paymentSolution=creditcards&paymentMethod=AliPay&productId=211002&transactionId=578439&customerId=MerCustomer1234&addressLine1=Test%20street%20no.%201&addressLine2=Floor%203,%20ap.%202&buildingName=Testing%20Building&buildingNumber=T-43&city=Testing%20City&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&cardNumber=4200000000000000&expDate=1222&cvnNumber=012&chName=Jonathan%20Gonzalez&cardType=mastercard&cardNumberToken=1&chAddress1=51%20Green%20house&chAddress2=Block%203%20second%20floor&chCity=Shelby&chCountry=GB&chEmail=john@gonzalez.com&chFirtName=John&chLastName=Gonzalez&chPhone=44669934872&chPostCode=Y08%206EL&chState=CA&cardLimits=3&threedParams=&checkoutTitle=AddonPayments%20Checkout%20Title&title=Checkout%20Title&subTitle=Please%20confirm%20the%20amount%20and%20proceed&backgroundColor=Olive%20-%3E%20%60#808000%60&topLogo=http://www.merchant.com/images/top-logo.png&bottomLogo=http://www.merchant.com/images/logo.png&fontColour=Navy%20-%3E%20%60#000080%60&fontFamily=arial&fontSize=10&amountMaxOnDemand=50
password
string required

Merchant Password. Provided by AddonPayments

Example:
87b8c731eb8efc294ac6396ea75c50b0
iv
string required
Example:
AcynMwikMkW4c7+mHtwtfw==
merchantId
string required

Merchant Identifier. Provider by AddonPayments

Example:
10330
cryptoMode
string required

Derypto Mode. Mandatory AES_CBC

Example:
AES_CBC

Responses

201 Created
Body
Object
merchantId
string
Example:
10330
encrypted
string
Example:
XOvAkd/MqpkSw809obl7qa2ivxvMTRLVCvCQ+GZMUfcogkqTxFkMlOLZDvjUrCGdnPklkOVXz0TAZRG0AG0yd6csPaywKM4i+7VFQo/X1PAfPLfa/b7V7l3jM1cN0SyO/R7XqEElpnzPKo5XxH5OORf/QUS4IHIHeu2WoJlr1YbE8k9G0kcl5JIqXrv4RBOYAf/EPrcohYwXoK8DWGUGVXfSbEejchR0JL1XTo6I0QggGU1rswLw74FcjWZ4sQsZCfcs+Wj7pXit8lMwkJZY0Xa7OwapF7IT4hJcVQIvRbbgx1sWmwASxXqRW8jxy4HA83CQkZic+hszPqhkN9L/Qr97CVeQAahyT8BFgfEaOd4OOh7hCieLGfx8TjNdLXuvV9cFmRQDlm50JLCPqq5Rub02qFsCoL37yhUItuN//tAIW9e+jfRB6uZNNTk0CjmVH3W+vgPugpLN5lg7o5U4a/X0QxrcnUmMhzgVF3qlCgMXlpLJKbSFk3IRkPOxeI2Xsvnj/lW8gXeuuPLtg85wmPnfmUkb44Cd3XRbGerbkLG8lQ/RbO3OUZqgQzMODD4P2XS9sKbhZf9pn2xwNqd+id4cEP0LpjMTPA1NZdroSvdC4M29sdnM39zOUCbSC0pjiP424siKd3f6qNmSoljubZ0TnGKOUXvwi8LSgQlCuQ61K76pPK5i0gV4rbDoXECpejxNrFOpX9W4IYSCYmE/oAJOE1oVw1MTEGWPsQtiS49cNZ1/sltSZgjZVKNJ8qhaCvwm++JZ0Sib8ggmMeBMEOmDVbiO/AHK0cT2adL/e20SGh53XgYzb27AuGOeBywLY/02XfJB5++rrpg3n32N3g1Q7rQdW2uWYEZvDi8qTBPKGVBMtdAftLzxa2VhzR46
integrityCheck
string
Example:
b73570c9f6830810eb39aa25726e5a52b5849f88a6c9b914a3f2a7fc015637a0
cryptoMode
string
Example:
CBC
initialVector
string
Example:
AcynMwikMkW4c7+mHtwtfw==
200 test example
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"
        }
    }
}
--------------------------
TODO / FIXME

https://speca.io/AddonPayments/addonpayments#hosted-integration

  • Change image, adding 4 sections and change the group title name
No Delete - POC
GET /trait/{iD}/test/url/{path}/{otherpath}
getExample
GET /trait/{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
  • Very easy!

Ordered

  1. Lorem ipsum dolor sit amet

  2. Consectetur adipiscing elit

  3. Integer molestie lorem at massa

  4. You can use sequential numbers…

  5. …or keep all the numbers as 1.

Start numbering with offset:

  1. foo
  2. 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

link text

link with title

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

iD
string required
path
string required

This is a description of path

otherpath
string required

This is a description for other parth argument

Request parameters

fdsfdsfsd
string optional
Example:
fdsfds

Request headers

fdsfds
string optional

fdsfds

Example:
fdsfds

Responses

200 OK
Body
schema

Scheame’s description

Object
Example:
{
    "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",
    "[...]": ""
}
properties
merchantTransactionId
integer read-only write-only
country
string
Enumeration:
ab

ab description

sp

sp descripcion

lastName
string required nullable read-only write-only
Min length: 2
Max length: 22,222
Pattern: [0-9]{3}
Default:
fds
Example:
Rempel
city
string
Example:
NSouth Eleonoreville
statusURL
string
description
string
Example:
Awesome Soft Shirt
language
string
Example:
lt
title
string
Example:
Miss
customerCountry
string
Example:
CM
expDate
string
Example:
0126
merchantId
string
Example:
10330
APIVersion
string
Example:
3
customerEmail
string
Example:
Brant69@example.net
customerId
string
Example:
epgLiveTest001
addressLine1
string
Example:
c/ & ~ñ Halie Coves
currency
string
Example:
GBP
addressLine2
string
Example:
Ukraine
state
string
Example:
Harberport
chName
string
Example:
Mercedes
amount
string
Example:
11.22
productId
string
Example:
103300003
cardType
string
Example:
visa
cvnNumber
string
Example:
258
telephone
string
Example:
535-715-4364
firstName
string
Example:
Luella
paymentSolution
string
Example:
barclays
dob
string
Example:
24-11-1988
operationType
string
Example:
debit
postCode
string
Example:
11310
cardNumber
string
Example:
5402056926627014
merchantParams
string
Example:
3ds:2
threedType
string
Example:
2
additional properties
boolean
Example 1
{
    "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
string optional

PAram description

Allow empty value: true
Default:
dsa
200 response

fdfdsfds

Body
application/xml
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&params=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"
}}