BankStore XML Integration
- Introduction
- Operation Notification: Webhook
- POS configuration
- Integration for data capture
-
BANKSTORE XML Integration
- Execution of user registration in the system
- User Information
- User removal
- Execution of Charges to a user in the system
- Execution of Charges to a user in the system with DCC
- Confirmation of currency in DCC payment
- Refund to User in the system
- Execution of subscription registration in the system
- Editing a subscription in the system
- Subscription removal
- Execution of subscription registration of a existing user
- Creating a user preauthorization in the system
- Confirmation of a user preauthorization in the system
- Cancelation of a user preauthorization in the system
- Confirmation of a user defered preauthorization in the system
- Cancelation of a user defered preauthorization in the system
- Execution of a user registration in the system by Token
- Execution of Charges to a user by Reference
-
BAKSTORE IFRAME Integration
-
Execution of User Registration in the system (
add_user
) -
Execution of charge (User implicit registration in the system) (
execute_purchase
) -
Execution of subscription registration (User implicit registration in the system) (
create_subscription
) -
Execution of Charges to an existing user (
execute_purchase_token
) -
Execution of subscription registration to an existing user (
create_subscription_token
) -
Execution of Preauthorization Registration (User implicit registration in the system) (
create_preauthorization
) -
Execution of Preauthorization confirmation (
preauthorization_confirm
) -
Execution of Preauthorization cancellation (
preauthorization_cancel
) -
Preauthorization registration to an existing user (
create_preauthorization_token
) -
Card validation and confirmation (User implicit registration in the system) (
deferred_preauthorization
) -
Approval after card validation (
deferred_preauthorization_confirm
) -
Cancellation after card validation (
deferred_preauthorization_cancel
)
-
Execution of User Registration in the system (
- Overwriting parameters URLOK and URLKO
- APPENDIX I – Business signature calculation
- APPENDIX II – OPERATION TYPES
- Appendix II - Advanced signature VHASH
Introduction
The aim of this document is to serve as a reference during the integration process of a business with the PAYCOMET payment gateway, using the system BankStore that stores bank details of the customers of the business.
It also includes a reference Appendix and a document, including the error codes returned by the system to simplify the debugging process, is available on the website of PAYCOMET.
Las integraciones XML y REST through the BankStore service allows access to payment transactions without direct user intervention, extending the operation of individual payment to the management of the bank details of the customer of the business. The requests originate at the server of the business and are processed by the payment gateway.
Both technologies for carrying out operations allows safe passage through firewalls and through the network. In addition, you can use Full screen, Iframe and JET-IFRAME to capture card data.
The BankStore service is differentiated by its communication between the business and the gateway combining information on customer data. The business stores personal data of its customer and PAYCOMET the bank details. Once the business registers the user, PAYCOMET returns an identifier formed by a unique customer number (IDUSER) and a token (TOKENUSER).
In this way the business has a common identifier with PAYCOMET to perform operations on your customer account such as:
- User Registration
(add_user)
- User Info
(info_user)
- User Removal
(remove_user)
- User Purchase
(execute_purchase)
- User Purchase with DCC
(execute_purchase_dcc)
- Purchase confirmation with DCC
(confirm_purchase_dcc)
The subscription operation has been added in the same service. This operation is completely parallel to that of storage of bank details of the customer. The management of subscriptions will be carried out with the following functions:
- Subscription registration
(create_subscription)
- Editing a subscription
(edit_subscription)
- Subscription removal
(remove_subscription)
Also, operations related to preauthorizations are also present through the functions:
- Preauthorization registration
(create_preauthorization)
- Preauthorization confirmation
(preauthorization_confirm)
- Preauthorization cancellation
(preauthorization_cancel)
In this way, two concepts are divided into the same service and it is necessary to clarify their purpose and differences:
BankStore | BankStore Subscripción |
---|---|
Storage of bank details of the customer of the business | Subscription management with storage of bank details of the customer of the business |
Ideal for businesses with usual purchases from the same customer without having to re-enter card data | Ideal for subscriptions to a service or installment payments. Important: PAYCOMET will not be responsible for billing denials that might occur in installments. |
Refunds can be made via XML and REST | Refunds must be made from the Control Panel |
The subscription registration can be made by XML, REST or GET (iframe or full screen). | The subscription registration can be made by XML, REST or GET (iframe or full screen). |
Operation Notification: Webhook
The purchase process is carried out by the payment gateway and the resolution of the operation is returned directly in the response message. However, it is possible to configure through the PAYCOMET customer panel additional notification methods to keep users informed of the operation or launch additional mechanisms.
These notifications are identical to those submitted by other type of payment gateway products such as WEB gateway or telesales. Thus, it is possible for the customer to maintain a unified control of sales made by the business.
For proper notification of the payment process, it is possible to configure the notification system to provide information on the status of the operation performed by the gateway, either via e-mail, request to URL in the background (independent of the response process to the service) or both, and in general by SMS.
The information contained in a standard notification e-mail is as follows:
A sale has been performed according to the following parameters:
Account identifier: 0gs265nc
Transaction type: Authorization (1)
Card issuing country: ES
Date and time of the transaction (yyyymmddhhmmss): 20101027110536
Order: 2010102711053676
Response: OK
Error ID: 0
Error description:
Authentication code: 802335/120098123810102711053606007000
Currency: EUR
Amount (Euros): 10.00
Amount (Origin): 1000
Language: es
Product ID: 25
Signature:
Extended Signature: 94f487ad8b57141d91fbc8fcda9e346cf17254bc
Secure Payment: 0
Scoring: 0
Card Brand: VISA
BIC Code: BSABESBBXXX
Serial Number: 00000200275
PAYCOMET ID: 122548686
Request to URL
The notification parameters are passed to the target URL using the POST method according to the following table:
Var | Type | Description |
---|---|---|
TransactionType | Numerical | Operation type. See OPERATION TYPES |
TransactionName | Alphanumerical | Operation Name |
CardCountry | Alphanumerical | Card issuing country. May be left empty |
BankDateTime | Alphanumerical | Date of operation |
Signature | Alphanumerical | Notification signature |
Order | Alphanumerical | Reference provided by business |
Response | Alphanumerical | Final status of operation |
ErrorID | Numerical | Error code. See Appendix |
ErrorDescription | Alphanumerical | Text description of error (optional) |
AuthCode | Alphanumerical | Authorization code returned by bank(optional) |
Currency | Alphanumerical | Currency used in the operation |
Amount | Numerical | Amount provided by business |
AmountEur | Numerical | Amount in Euros |
Language | Alphanumerical | Language used on platform |
AccountCode | Alphanumerical | Customer code |
TpvID | Numerical | Terminal number |
Concept | Alphanumerical | Concept |
ExtendedSignature | Alphanumerical | Notification Extended Signature |
IdUser | Numerical | Not in all notifications. value necessary to Tokenize |
TokenUser | Alphanumerical | Not in all notifications. value necessary to Tokenize |
SecurePayment | Numerical | The value will be 1 if the operation was run in secure mode. Value 0 when the transaction is processed in non-secure mode. |
CardBrand | Alphanumerical | Card brand, if it was determined. |
BicCode | Alphanumerical | Code of the bank through which the operation was performed, if it was determined. |
Scoring | Numerical | Scoring calculated from the operación. |
The Extended Signature for verifying notifications (NotificationHash
) will be calculated in the following manner:
extendedSignature = md5(AccountCode+TpvID+TransactionType+Order+Amount+Currency+md5(password)+BankDateTime+Response);
POS configuration
In order to use the PAYCOMET payment gateway in your business, you must have the necessary configuration parameters. These can be obtained through the PAYCOMET customer management platform at Customer Area
Once inside the platform, the configuration of the contracted product can be reviewed through the menu Terminals->"Terminal name"->Terminal details.
After clicking the chosen terminal, a screen will appear with the basic information of the product under the section "Integration credentials". Specifically, the information required during the integration process is:
- Password
- Terminal number
- Customer code
- URL of the service (https://api.paycomet.com/gateway/xml-bankstore)
- URL of the web service description file (WSDL) by way of reference (https://api.paycomet.com/gateway/xml-bankstore?wsdl)

Integration for data capture
To facilitate compliance with the PCI-DSS standard, the business has the solution for data capture of their customer by using customizable IFRAME.
This solution enables the generation of a form of data captura with the look&feel predefined in the product control panel. This solution must be activated by PAYCOMET, so if it does not appear in the control panel, you must request it by opening an administrative ticket (Support → Open ticket → Administrative/Operational).
In this section you will be able to see a preview of the styles applied below. Styles allow reference to external sites but must respond with a digital certificate correctly signed by a trusted entity; otherwise the customer browser will display an error that will generate mistrust in your customer:
The template can be customized from the section: (Terminals->"Terminal name"->Payment form). Here are the fields that can be modified using CSS styles and a preview of said changes.
If the available properties do not meet the needs of the application, you may request a development of specific "Template" by opening an administrative ticket (Support → Open ticket → Administrative/Operational).
We will inform you of the steps to be followed and the rules of said development.
The functionalities available in Bankstore IFRAME are
- Function: (
add_user
) - Function: (
execute_purchase
) - Function: (
create_subscription
)
Said functionalities are those that involve the collection of the bank details of the customer. Subsequently, once the IDUSER and TOKENUSER data have been collected, XML and REST interfaces may be used to execute purchases, modify subscriptions, information of user card data, cancel subscriptions, etc...
Operation of the data capture (example)
The purpose of using an integration to capture customer card data is to facilitate compliance with the PCI-DSS standard of the Web application. In this manner, the collection of bank data is carried out in the PAYCOMET secure environment for processing them later in a Server2Server conversation without risk of the data being susceptible to theft.
In a fictional environment we would find the following scenario:
A business with high recurrence wants to store the bank details of the customer to facilitate future purchases. The techniques for collecting their bank details are two:
- From their customer account. In their control panel they can modify their billing and shipping information and even their associated credit/debit card. Thus, at the end of the shopping cart, they will make the order payment with just one click.
- In the first purchase. The customer enters all their bank details in the final process of the cart and these will be stored for future purchases. In this way, storage is done in a "transparent" way when completing the order.
In the first case, the customer is authenticated on the e-commerce platform because it is a previously registered user. They login to their Control Panel and chose to add a credit/debit card to their account to make the payments. The business shows in an integrated way in their control panel an form to capture data and PAYCOMET notifies the business of the result. The business stores the IDUSER and TOKENUSER data in the customer's account (they may have several, in order to have multiple cards), to subsequently make payments.

The customer enters the data into on PAYCOMET's form (aesthetically integrated with the web of the business) and PAYCOMET notifies the IDUSER and TOKENUSER data in the case of success, with a delay.
The business stores the data associated with the account of its customer to execute a payment through SOAP XML integration.
In the second case (storage on the first purchase), the customer places an order normally and when selecting the method of payment by credit/debit card, the bank details are requested to proceed to

The bank details are introduced in an capture form generated by PAYCOMET returning both the storage data of the user (IDUSER
and TOKENUSER
) and the result of the transaction.
This will happen only if the business does not have the two IDUSER
and TOKENUSER
data. Otherwise the communication would not be done by a capture form.
In the situation where the business has the IDUSER
and TOKENUSER
data, either by obtaining them through add_user, the customer has entered their data from their control panel of the business, or through execute_purchase
, the customer has already made a purchase previously, the method for making a purchase is different. The method to be used shall be by a Server2Server (XML or REST) connection where the business will use the execute_purchase
service directly with PAYCOMET.

It is recommended to use some kind of authentication (PIN or similar) to execute the execute_purchase
service to prevent unsolicited purchases.
Said unsolicited purchases are usually subject of dispute of the operation and may incur additional charges from the bank and, if it is a repeated offense, the account could be canceled.
Methods of payment according to the integration
It is important to understand the two integrations in order to build the operation of the business.
3DSecure Payment | Non-secure Payment | Responsible for card capture | |
---|---|---|---|
add_user (Bankstore IFRAME) | YES | YES | PAYCOMET |
execute_purchase (Bankstore IFRAME) | YES | YES | PAYCOMET |
create_subscription (Bankstore IFRAME) | YES | YES | PAYCOMET |
add_user (Bankstore SOAP XML) | NO | YES | Business |
execute_purchase (Bankstore SOAP XML) | NO | YES | Business |
create_subscription (Bankstore SOAP XML) | NO | YES | Business |
Cobros mediante Operativa DCC
PAYCOMET allows transactions to be carried out through BankStore operations, in DCC modality (Dynamic Currency Conversion).
Dynamic Currency Conversion (DCC) converts international purchases with Visa® and MasterCard® credit cards into the local currency of the cardholder. Part of the conversion charge will be refunded to the business. PAYCOMET administrates the full conversion process; from the direct exchange rates of the treasury and processing of transactions, to conciliation of deferred payments, liquidation, financing and support.
With DCC, international clients will know the exact total of the purchase in their local currency. Conversion rates are generally much more competitive than those of exchange companies.
This operation must be activated before use. Contact us to register for the desired product.
DCC integration differs from conventional integration due to the use of a specific service for carrying out the client payment. The services dedicated to DCC are:
- User Purchase with DCC
- Purchase confirmation with DCC
The user registration procedure: add_user
, continues to be necessary in the case of purchases without 3D Secure. The main difference is the incorporation of an additional step for receiving the available exchange of the native currency of the card at the time of the transaction:

BANKSTORE XML Integration
Since the entire payment process is performed in the background (server to server) the changes to be performed in the business are totally unrelated to the user experience.
The technology used for the operation with the PAYCOMET payment gateway is SOAP, based on HTTPS to prevent transportation problems through firewalls and other devices while ensuring the safety of operations. There is extensive support for carrying out SOAP requests for the major programming languages used in web environments.
The requests are made through the HTTPS transport protocol, so you must ensure that your system is capable of correctly performing requests and managing security certificates returned by the platform to ensure proper use.
There are several operations that can be launched from the same service. The available operations are described below.
Execution of user registration in the system
Function: (add_user
)
The variables required to register a user with their bank details are (in this order):
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_MERCHANT_PAN | [0-9]{16,19} | Mandatory. Card number, without any spaces or dashes |
DS_MERCHANT_EXPIRYDATE | [0-9]{4} | Mandatory. Expiry date of the card, expressed as “mmyy” (two-digits for the month and two-digits for the year) |
DS_MERCHANT_CVV2 | [0-9]{3,4} | Mandatory. CVC2 Code of the card |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
DS_ORIGINAL_IP | A.B.C.D | Mandatory. IP Address of the customer that initiated the payment transaction (owner of the card) |
DS_CARDHOLDERNAME | [a-zA-Z]{30} | OptionalCard's owner name . |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_IDUSER | [0-9]{1,13} | Unique identifier of the user registered in the system. It will come back empty in the case of error. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Token code associated with the DS_IDUSER . |
DS_ERROR_ID | [0-9]{1,5} | In the case of error, the error code generated will be here. If there is no error it will be 0 or empty. The error codes are specified in the document ERROR CODES. |
If the request generates an error of some kind (incorrect signature, incorrect amount, user not found, etc) all fields will be empty, except “DS_ERROR_ID
” which will contain the error code.
If the transaction is correct, the service will return the field DS_IDUSER
and DS_TOKEN_USER
which shall be stored by the business, associating it to the account of their customer, to subsequently make charges on their credit/debit card.
User Information
Function: (info_user
)
This function will be used to confirm to the customers of the business which card will be used to make the payment. This step is optional but it is convenient to avoid mistrust.
The variables required to request information from a user are (in this order):
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the DS_IDUSER . |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
DS_ORIGINAL_IP | A.B.C.D | Mandatory. IP Address of the customer that initiated the payment transaction (owner of the card) |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_MERCHANT_PAN | [0-9]{16,19} | Card number. The number will be returned masked, showing just the first six digits and the last four. |
DS_ERROR_ID | [0-9]{1,5} | In the case of error, the error code generated will be here. If there is no error it will be 0 or empty. The error codes are specified in the document ERROR CODES. |
DS_CARD_BRAND | [a-zA-Z]{30} | Card brand. If it can be identified, information on the card brand will be sent (Visa, MasterCard, American Express, etc). Otherwise, the field will be returned blank. |
DS_CARD_TYPE | [a-zA-Z]{20} | Type of card. If it can be identified, information on the type of card will be sent (DEBIT, CREDIT, etc). Otherwise, the field will be returned blank. |
DS_CARD_I_COUNTRY_ISO3 | [a-zA-Z]{3} | ISO3 Code the country of the issuer of the card. If it can be identified, the ISO3 Code of the country of the issuer of the card will be sent. Otherwise, the field will be returned blank. |
DS_EXPIRYDATE | [YYYY/MM] | Expiry date of the card expressed in the format YYYY/MM |
DS_CARD_HASH | [a-zA-Z0-9]{64} | Hash unique credit card id |
If the request generates an error of some kind (incorrect signature, user not found, etc) all fields will be delivered empty, except “DS_ERROR_ID
” which will contain the error code.
If the transaction is correct, the service will return the field DS_MERCHANT_PAN
which will contain the credit/debit card masked, leaving visible only the first 6 digits and the last 4. This operation is very useful to show the customer of the business the card with which the transaction will be made.
Different languages usage:
User removal
Function: (remove_user
)
This function will be used for removing a user from the account of the business.
The variables required to request removal of a user are (in this order):
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the DS_IDUSER . |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
DS_ORIGINAL_IP | A.B.C.D | Mandatory. IP Address of the customer that initiated the payment transaction (owner of the card) |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_RESPONSE | [0-1]{1} | Result of operation. 0 or empty will be erroneous operation and 1 operation completed. |
DS_ERROR_ID | [0-9]{1,5} | In the case of error, the error code generated will be here. If there is no error it will be 0 or empty. The error codes are specified in the document ERROR CODES. |
If the request generates an error of some kind (incorrect signature, user not found, etc) all fields will be delivered empty, except “DS_ERROR_ID
” which will contain the error code.
If the transaction is correct, the service will return the field DS_RESPONSE
the value of which will be 0 or empty in case of error and 1 in case of successful removal.
Execution of Charges to a user in the system
Function: (execute_purchase
)
Once the user is registered in the system, charges may be made to their account by sending their credentials and data of the operation.
The variables required for making a charge to a user registered in the system are (in this order):
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the DS_IDUSER . |
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference of the operation. Must be unique on every valid transaction. |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY CODES |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
DS_ORIGINAL_IP | A.B.C.D | Mandatory. IP Address of the customer that initiated the payment transaction (owner of the card) |
DS_MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Optional. Description of the product |
DS_MERCHANT_OWNER | [a-zA-Z0-9]{40} | Optional. Description of the transaction |
DS_MERCHANT_SCORING | [0-100] | Optional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Reference of the operation. |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Currency of the transaction. See more information in MONEDAS |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Authorization bank code of the transaction (required to execute a return). |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | Country of the issuer of the card in ISO3 Code (ex.: 724 = Spain). May be left empty. |
DS_RESPONSE | [0-1]{1} | Result of operation. 0 or empty will be erroneous operation and 1 operation completed. |
DS_ERROR_ID | [0-9]{1,5} | In the case of error, the error code generated will be here. If there is no error it will be 0 or empty. The error codes are specified in the document ERROR CODES. |
If the request generates an error of some kind (incorrect signature, user not found, etc) all fields will be delivered empty, except “DS_ERROR_ID
” which will contain the error code.
If the transaction is correct, the service will return the field DS_RESPONSE
the value of which will be 0 or empty in case of error and 1 in case of successful removal.
Different languages usage:
Execution of Charges to a user in the system with DCC
Function: (execute_purchase_dcc
)
Once the user is registered on the system, they can make payments with their account by sending their credentials and operation information. The DCC caseload requires that a payment process is carried out in two steps: execute_purchase_dcc
, where the native currency of the card is received (in the case of the card having the same currency as the product associated with the transaction, the result will be a 1:1 conversion) and will be subsequently confirmed with the confirm_purchase_dcc
method with the selected currency and the original session of the transaction.
The variables that the service requires for carrying out a DCC payment for a user registered in the system are (in this order):
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the DS_IDUSER . |
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference of the operation. Must be unique on every valid transaction. |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
DS_ORIGINAL_IP | A.B.C.D | Mandatory. IP Address of the application of the business |
DS_MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Optional. Description of the product |
DS_MERCHANT_OWNER | [a-zA-Z0-9]{40} | Optional. Description of the transaction |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Reference of the operation. |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Transaction currency. It will always be the same as the original product. |
DS_MERCHANT_DCC_SESSION | [a-zA-Z0-9]{1,40} | Session var for later confirmation of the authorization. This value must be stored to confirm payment in the currency chosen by the end user. |
DS_MERCHANT_DCC_CURRENCY | [EUR][USD][GBP][JPY] | Native currency of the customer's card. |
DS_MERCHANT_DCC_CURRENCYISO3 | [0-9]{1,3} | Native currency of the customer's card in ISO3 |
DS_MERCHANT_DCC_CURRENCYNAME | [A-Za-z0-9]{1,20} | Literal currency in string. If the native currency is the same as the product PAYCOMET, este campo vendrá con valor 0. |
DS_MERCHANT_DCC_EXCHANGE | [0-9]*\.?[0-9]* | Currency exchange rate. Return string but it will come in format float. |
DS_MERCHANT_DCC_AMOUNT | [0-9]{1,8} | Amount of the operation in whole format. 1,00 EURO = 100, 4,50 EUROS = 450... |
DS_MERCHANT_DCC_MARKUP | [0-9]*\.?[0-9]* | Percentage value in float of DCC margin applied by the financial institution. Por ejemplo: 0.03 será un 3% |
DS_MERCHANT_DCC_CARDCOUNTRY | [0-9]{1,3} | Country of the issuer of the card in ISO3 Code (ex.: 724 = Spain). |
DS_RESPONSE | [0-1]{1} | Result of operation. 0 or empty will be erroneous operation and 1 operation completed. |
DS_ERROR_ID | [0-9]{1,5} | In the case of error, the error code generated will be here. If there is no error it will be 0 or empty. The error codes are specified in the document ERROR CODES. |
If the request generates an error of some kind (incorrect signature, incorrect amount, user not found, etc) all fields will be empty, except “DS_ERROR_ID
” which will contain the error code.
In case of the transaction being correct, the service will restore all fields. In this case the DS_ERROR_ID
field will be restored empty. The information to save for the confirmation of the operation is the DS_MERCHANT_DCC_SESSION
which is a unique transaction identifier linking the purchase operation initiated on DCC. In the following step the currency must be confirmed for finalising the transaction and linking to the DCC session.
Different languages usage:
Confirmation of currency in DCC payment
Function: (confirm_purchase_dcc
)

Once the DS_MERCHANT_DCC_SESSION
parameter has been restored when a DCC purchase has been made, the state of the transaction will be “waiting” for the currency confirmation. The business must suggest to the client the currency in which they wish to pay (showing the conversion in real time) and when it is selected, the business must confirm the authorisation with the currency selected by the end user.
(example of interaction with the end user)
The variables required for confirming a DCC operation on the system are (in this order):
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference original operation. |
DS_MERCHANT_DCC_CURRENCY | [EUR][USD][GBP][JPY][...] | Mandatory. The chosen currency transaction. It may be the product PAYCOMET native or by the end user selected. The amount will be sent in execute_purchase_dcc if it is the same product and become if different. |
DS_MERCHANT_DCC_SESSION | [a-zA-Z0-9]{1,40} | Mandatory. Sent in the same session process execute_purchase_dcc . |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
Important
Important! The variable
has a validity of 5 minutes after its creation. For reasons of volatility in exchange and security, said session will expire in this period and cannot be recovered, a DS_MERCHANT_DCC_SESSION
execute_purchase_dcc
having to be launched again if the time has expired or the error “Incorrect token received. Error (1204)” is shown.
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Reference of the operation. |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY][...] | Currency of the transaction. See more information in CURRENCY |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Authorization bank code of the transaction (required to execute a return). |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | Country of the issuer of the card in ISO3 Code (ex.: 724 = Spain). May be left empty. |
DS_RESPONSE | [0-1]{1} | Result of operation. 0 or empty will be erroneous operation and 1 operation completed. |
DS_ERROR_ID | [0-9]{1,5} | On error, here come the error code generated. If not exits will be 0 or empty in case of error and 1 in case of successful removalerror vendrá 0 o vacío. Los códigos de error vienen especificados en el apartado: CÓDIGOS DE ERROR. |
If the request generates an error of some kind (incorrect signature, incorrect amount, user not found, etc) all fields will be empty, except “DS_ERROR_ID
” which will contain the error code.
In case of the transaction being correct, the service will restore all fields (except DS_MERCHANT_CARDCOUNTRY
which is optional) which must be stored by the business in case of a possible refund. In this case the field DS_ERROR_ID
will be restored with the value 0.
Different languages usage:
Refund to User in the system
Function: (execute_refund
)
By means of this function, refunds of the operations performed may be made. The user identification data and the bank authorization code will be necessary.
The variables required for making a refund of an operation are (in this order):
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the DS_IDUSER . |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Mandatory. Original bank code of the authorization of the transaction |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Original reference of the operation. |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
DS_ORIGINAL_IP | A.B.C.D | Mandatory. IP Address of the application of the business |
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Optional. For partial refunds. Amount to be refunded in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Reference of the operation. |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Currency of the transaction. See more information in CURRENCY |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Authentication bank code of the transaction. |
DS_RESPONSE | [0-1]{1} | Result of operation. 0 or empty will be erroneous operation and 1 operation completed. |
DS_ERROR_ID | [0-9]{1,5} | In the case of error, the error code generated will be here. If there is no error it will be 0 or empty. The error codes are specified in the document ERROR CODES. |
If the request generates an error of some kind (incorrect signature, incorrect amount, user not found, etc) all fields will be empty, except “DS_ERROR_ID
” which will contain the error code.
If the transaction is correct, the service will return all fields. In this case the field DS_ERROR_ID
will be returned empty. The service will return the field DS_RESPONSE
the value of which will be 0 or empty in case of error and 1 in case of successful refund.
Execution of subscription registration in the system
Function: (create_subscription
)
The registration of a subscription implies the registration of a user in the BankStore system of PAYCOMET. This process is completely independent from the isolated charge to a customer of the business.
The variables required for registering a user with subscription are (in this order):
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_MERCHANT_PAN | [0-9]{16,19} | Mandatory. Card number, without any spaces or dashes |
DS_MERCHANT_EXPIRYDATE | [0-9]{4} | Mandatory. Expiry date of the card, expressed as “mmyy” (two-digits for the month and two-digits for the year) |
DS_MERCHANT_CVV2 | [0-9]{3,4} | Mandatory. CVC2 Code of the card |
DS_SUBSCRIPTION_STARTDATE | [YYYY-MM-DD] | Mandatory. Subscription start date. If the value is empty the date is the same day of registration. IMPORTANT: Subscriptions are charged on the first run if this field has value it will be taken into account for future charges. |
DS_SUBSCRIPTION_ENDDATE | [YYYY-MM-DD] | Mandatory. Subscription end date. It may not be later than the Subscription start date + 5 years. |
DS_SUBSCRIPTION_ORDER | [A-Za-z0-9]{1,20} | Mandatory. First characters of the reference of the operation. IMPORTANT: Do not include the characters “[“ o “]”, they will be used to recognize the user of the business. |
DS_SUBSCRIPTION_PERIODICITY | [0-9]{3} | Mandatory. Frequency of collection from the start date. The number expresses Days. It may not be greater than 365 days. |
DS_SUBSCRIPTION_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_SUBSCRIPTION_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
DS_ORIGINAL_IP | A.B.C.D | Mandatory. IP Address of the customer that initiated the payment transaction (owner of the card) |
DS_MERCHANT_SCORING | [0-100] | Optional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
Important
The field DS_SUBSCRIPTION_ORDER
will be the first characters of the reference of the purchase. It will be followed by the DS_USER data attached in brackets [] + the day of the transaction in format: YYYYMMDD. Thus the reference will always be the same but it will change when periodic transactions are made.
Example:
DS_SUBSCRIPTION_ORDER = Luis_3268314
The charge of the subscription to DS_IDUSER
32 on December 23, 2030 the system will return it as DS_SUBSCRIPTION_ORDER
:
DS_SUBSCRIPTION_ORDER = Luis_3268314[23]20301223
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_IDUSER | [0-9]{1,13} | Unique identifier of the user registered in the system. It will come back empty in the case of error. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Token code associated with the DS_IDUSER . |
DS_SUBSCRIPTION_AMOUNT | [0-9]{1,8} | Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_SUBSCRIPTION_ORDER | [A-Za-z0-9]{1,20} | Original reference of the operation + [DS_IDUSER] + date of the transaction in format YYYYMMDD. |
DS_SUBSCRIPTION_CURRENCY | [EUR][USD][GBP][JPY] | Currency of the transaction. See more information in CURRENCY |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Authentication bank code of the transaction. |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | Country of the issuer of the card in ISO3 Code (ex.: 724 = Spain). May be left empty. |
DS_ERROR_ID | [0-9]{1,5} | In the case of error, the error code generated will be here. If there is no error it will be 0 or empty. The error codes are specified in the document ERROR CODES. |
If the request generates an error of some kind (incorrect signature, incorrect amount, user not found, etc) all fields will be empty, except “DS_ERROR_ID
” which will contain the error code.
If the transaction is correct, the service will return the fields DS_IDUSER
and DS_TOKEN_USER
which shall be stored by the business, associating it to the account of their customer, to later modify the subscription or cancel the subscription.
If the execution of the first installment is successful the system will return all the fields except DS_ERROR_ID
which will be left empty.
If the execution of the first installment has an error for several reasons (balance, validity of the card, etc...), the subscription will be canceled having to create a new subscription. In this case only DS_ERROR_ID
will be returned with the specific error code.
Editing a subscription in the system
Function: (edit_subscription
)
If a user renews their subscription or simply wants to increase the payment of the service we offer the service of editing a subscription. In this case it will not be possible to change the currency nor the bank details of the customer of the business. The modification of the subscription involves the prior registration of a user in subscription mode in the BankStore system of PAYCOMET. This process is completely independent from the isolated charge to a customer of the business.
The variables required for editing a subscription are (in this order):
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the DS_IDUSER . |
DS_SUBSCRIPTION_STARTDATE | [YYYY-MM-DD] | Mandatory. Subscription start date. If the value is empty the date is the same day of registration. IMPORTANT: Subscriptions are charged on the first run if this field has value it will be taken into account for future charges. |
DS_SUBSCRIPTION_ENDDATE | [YYYY-MM-DD] | Mandatory. Subscription end date. |
DS_SUBSCRIPTION_PERIODICITY | [0-9]{3} | Mandatory. Frequency of collection from the start date. The number expresses Days. |
DS_SUBSCRIPTION_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
DS_ORIGINAL_IP | A.B.C.D | Mandatory. IP Address of the customer that initiated the payment transaction (owner of the card) |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_IDUSER | [0-9]{1,13} | Unique identifier of the user registered in the system. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Token code associated with the DS_IDUSER . |
DS_SUBSCRIPTION_AMOUNT | [0-9]{1,8} | Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_SUBSCRIPTION_ORDER | [A-Za-z0-9]{1,20} | Original reference of the operation + [DS_IDUSER] + date of the transaction in format YYYYMMDD. |
DS_SUBSCRIPTION_CURRENCY | [EUR][USD][GBP][JPY] | Currency of the transaction. See more information in CURRENCY |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Authentication bank code of the transaction. |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | Country of the issuer of the card in ISO3 Code (ex.: 724 = Spain). May be left empty. |
DS_ERROR_ID | [0-9]{1,5} | In the case of error, the error code generated will be here. If there is no error it will be 0 or empty. The error codes are specified in the document ERROR CODES. |
If the request generates an error of some kind (incorrect signature, incorrect amount, user not found, etc) all fields will be empty, except “DS_ERROR_ID
” which will contain the error code.
If the execution of the first installment is successful the system will return all the fields except DS_ERROR_ID
which will be left empty.
If the execution of the first installment has an error for several reasons (balance, validity of the card, etc...), the subscription will be canceled having to create a new subscription. In this case only DS_ERROR_ID
will be returned with the specific error code.
Subscription removal
Function: (remove_subscription
)
This function will be used for removing a subscription from the account of the business.
The variables required for requesting the removal of a subscription are (in this order):
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the DS_IDUSER . |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
DS_ORIGINAL_IP | A.B.C.D | Mandatory. IP Address of the application of the business. |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_RESPONSE | [0-1]{1} | Result of operation. 0 or empty will be erroneous operation and 1 operation completed. |
DS_ERROR_ID | [0-9]{1,5} | In the case of error, the error code generated will be here. If there is no error it will be 0 or empty. The error codes are specified in the document ERROR CODES. |
If the request generates an error of some kind (incorrect signature, user not found, etc) all fields will be delivered empty, except “DS_ERROR_ID
” which will contain the error code.
If the transaction is correct, the service will return the field DS_RESPONSE
the value of which will be 0 or empty in case of error and 1 in case of successful removal.
Execution of subscription registration of a existing user
Function: (create_subscription_token
)
The registration of a subscription through this process will create a subscription for a user that was already registered in the system, without it being necessary in this case to send card data again.
The variables required for registering the subscription are:
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the DS_IDUSER . |
DS_SUBSCRIPTION_STARTDATE | [YYYY-MM-DD] | Mandatory. Subscription start date. If the value is empty the date is the same day of registration. IMPORTANT: Subscriptions are charged on the first run if this field has value it will be taken into account for future charges. |
DS_SUBSCRIPTION_ENDDATE | [YYYY-MM-DD] | Mandatory. End date of the subscription. It may not be greater than the start date of the subscription + 5 years |
DS_SUBSCRIPTION_ORDER | [A-Za-z0-9]{1,20} | Mandatory. First characters of the reference of the operation. IMPORTANT: Do not include the characters “[“ o “]”, they will be used to recognize the user of the business. |
DS_SUBSCRIPTION_PERIODICITY | [0-9]{3} | Mandatory. Frequency of collection from the start date. The number expresses Days. It may not be greater than 365 days. |
DS_SUBSCRIPTION_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_SUBSCRIPTION_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
DS_ORIGINAL_IP | A.B.C.D | Mandatory. IP Address of the customer that initiated the payment transaction (owner of the card) |
DS_MERCHANT_SCORING | [0-100] | Optional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
Important
The field DS_SUBSCRIPTION_ORDER
will be the first characters of the reference of the purchase. It will be followed by the DS_USER data attached in brackets [] + the day of the transaction in format: YYYYMMDD. Thus the reference will always be the same but it will change when periodic transactions are made.
Example:
DS_SUBSCRIPTION_ORDER = Luis_3268314
The charge of the subscription to DS_IDUSER
32 on December 23, 2030 the system will return it as DS_SUBSCRIPTION_ORDER
:
DS_SUBSCRIPTION_ORDER = Luis_3268314[23]20301223
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_IDUSER | [0-9]{1,13} | Unique identifier of the user registered in the system. It will come back empty in the case of error. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Token code associated with the DS_IDUSER . |
DS_SUBSCRIPTION_AMOUNT | [0-9]{1,8} | Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_SUBSCRIPTION_ORDER | [A-Za-z0-9]{1,20} | Original reference of the operation + [DS_IDUSER] + date of the transaction in format YYYYMMDD. |
DS_SUBSCRIPTION_CURRENCY | [EUR][USD][GBP][JPY] | Currency of the transaction. See more information in CURRENCY |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Authentication bank code of the transaction. |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | Country of the issuer of the card in ISO3 Code (ex.: 724 = Spain). May be left empty. |
DS_ERROR_ID | [0-9]{1,5} | In the case of error, the error code generated will be here. If there is no error it will be 0 or empty. The error codes are specified in the document ERROR CODES. |
If the request generates an error of some kind (incorrect signature, incorrect amount, user not found, etc) all fields will be empty, except “DS_ERROR_ID
” which will contain the error code.
If the execution of the first installment is successful the system will return all the fields except DS_ERROR_ID
which will be left empty.
If the execution of the first installment has an error for several reasons (balance, validity of the card, etc...), the subscription will be canceled having to create a new subscription. In this case only DS_ERROR_ID
will be returned with the specific error code.
Creating a user preauthorization in the system
Function: (create_preauthorization
)
Once the user is registered in the system, preauthorization operations may be performed by sending their credentials and data of the operation.
The variables required for carrying out a preauthorization for a user registered in the system are the same as those described in section Execution of charges to a user in the system
Confirmation of a user preauthorization in the system
Function: (preauthorization_confirm
)
Once a preauthorization operation has been performed and authorized, it can be confirmed to make the cash payment within 7 days; after that date, preauthorizations become invalid. The amount of the preauthorization confirmation can be less than, equal to or greater the original preauthorization, without exceeding 15% of the original preauthorization.
The variables required to confirm the preauthorization are:
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the DS_IDUSER . |
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference operation. Should be that identified the original preauthorization. |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
DS_ORIGINAL_IP | A.B.C.D | Mandatory. IP Address of the customer that initiated the payment transaction |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Reference of the operation. |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Currency of the transaction. See more information in CURRENCY |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Authorization bank code of the transaction (required to execute a return). |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | Country of the issuer of the card in ISO3 Code (ex.: 724 = Spain). May be left empty. |
DS_RESPONSE | [0-1]{1} | Result of operation. 0 or empty will be erroneous operation and 1 operation completed. |
DS_ERROR_ID | [0-9]{1,5} | In the case of error, the error code generated will be here. If there is no error it will be 0 or empty. The error codes are specified in the document ERROR CODES. |
Cancelation of a user preauthorization in the system
Function: (preauthorization_cancel
)
Once a preauthorization has been performed, it can be canceled within 7 days.
The variables required to cancel the preauthorization and the response elements are the same as for the preauthorization confirmation.
Confirmation of a user defered preauthorization in the system
Function: (deferred_preauthorization_confirm
)
Once a card validation operation has been carried out and authorised, it can be confirmed to carry out the effective payment within the following 72 hours; after this time, the card validation lose their validity. The amount of the card validation must be exactly equal to that of the original card validation.
The variables required to confirm the card validation are the same as for confirming the pre-authorisation.
The response of the service will have the same elements as the pre-authorisation response
Cancelation of a user defered preauthorization in the system
Function: (deferred_preauthorization_cancel
)
Once a card validation has been carried out, it can be cancelled within the following 72 hours.
The variables required for cancelling the card validation and the response elements are the same as for the confirmation of the card validation.
Execution of a user registration in the system by Token
Function: (add_user_token
)
This method allows a user to register based on a token previously obtained through the solution BankStore JET-IFRAME
The variables required for registering a user are (in this order):
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_MERCHANT_JETTOKEN | [a-z0-9]{64} | Mandatory. Token obtenido mediante javascript. |
DS_MERCHANT_JETID | [a-z0-9]{32} | Mandatory. Identifier for JET encryption. |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
DS_ORIGINAL_IP | A.B.C.D | Mandatory. IP Address of the customer that initiated the payment transaction |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_IDUSER | [0-9]{1,13} | Unique identifier of the user registered in the system. It will come back empty in the case of error. |
DS_TOKEN_USER | [A-Za-z0-9]{1,20} | Token code associated with the DS_IDUSER . |
DS_ERROR_ID | [0-9]{1,5} | In the case of error, the error code generated will be here. If there is no error it will be 0 or empty. The error codes are specified in the document ERROR CODES. |
Execution of Charges to a user by Reference
Function: execute_purchase_rtoken
This method allows you to run a charge based on a token previously obtained by Payment by Reference
The variables required for registering a user are (in this order):
Element | Content | Description |
---|---|---|
DS_MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
DS_MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,70} | Mandatory. Reference of the operation. Must be unique on every valid transaction. |
DS_MERCHANT_IDENTIFIER | [a-z0-9]{40} | Identifier obtained by previous Payment by Reference |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Currency of the transaction. See more information in CURRENCY |
DS_MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See signature calculation next. |
The description of the "Content" column refers to the regular expression that the information in the corresponding element must meet (except in the case of DS_ORIGINAL_IP
, which refers to an IP Address of the type “192.168.1.254”). Therefore “[A-Z]” indicates any character from “A” to “Z” and the brackets indicate the number of characters. For example “1{2,4}” validates numbers “11”, “111” and “1111”.
The response of the service to the request is performed by the return of an array formatted in XML with the various elements described in the following table:
Element | Content | Description |
---|---|---|
DS_MERCHANT_AMOUNT | [0-9]{1,8} | Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
DS_MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Reference of the operation. |
DS_MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Currency of the transaction. See more information in MONEDAS |
DS_MERCHANT_AUTHCODE | [a-zA-Z0-9]{1,40} | Authorization bank code of the transaction (required to execute a return). |
DS_MERCHANT_CARDCOUNTRY | [0-9]{1,3} | Country of the issuer of the card in ISO3 Code (ex.: 724 = Spain). May be left empty. |
DS_RESPONSE | [0-1]{1} | Result of operation. 0 or empty will be erroneous operation and 1 operation completed. |
DS_ERROR_ID | [0-9]{1,5} | In the case of error, the error code generated will be here. If there is no error it will be 0 or empty. The error codes are specified in the document ERROR CODES. |
If the request generates an error of some kind (incorrect signature, user not found, etc) all fields will be delivered empty, except “DS_ERROR_ID
” which will contain the error code.
If the transaction is correct, the service will return the field DS_RESPONSE
the value of which will be 0 or empty in case of error and 1 in case of successful removal.
BAKSTORE IFRAME Integration
Integration via IFRAME (an independent web page located within another web page, in this case that of the PAYCOMET payment gateway and the store, respectively) is carried out via an IFRAME object with the URL address.
https://api.paycomet.com/gateway/ifr-bankstore
Below is an example of the HTML code (the request parameters have been simplified, which will be covered below):
<iframe title="titulo" sandbox="allow-top-navigation allow-scripts allow-same-origin allow-forms" src="https://api.paycomet.com/gateway/ifr-bankstore?MERCHANT_MERCHANTCODE=0gs265nc……" width="400" height="525" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" style="border: 0px solid #000000; padding: 0px; margin: 0px"></iframe>
To avoid blocking the redirections required by the payment process in some browsers with security restrictions, it is essential to indicate these parameters in the iframe declaration.
sandbox="allow-top-navigation allow-scripts allow-same-origin allow-forms"
The request parameters must be formatted in the following manner:
PARAM1=VALOR1&PARAM2=VALOR2&PARAM3=VALOR3
Operations allowed:
ID | Operation |
---|---|
107 | User registration in the system (add_user ) |
1 | Payment (User implicit registration in the system) (execute_purchase ) |
9 | Subscription registration (User implicit registration in the system) (create_subscription ) |
109 | Charge to an existing user (execute_purchase_token ) |
110 | Subscription registration to an existing user (create_subscription_token ) |
3 | Preauthorization Registration (User implicit registration in the system) (create_preauthorization ) |
6 | Preauthorization Confirmation (preauthorization_confirm ) |
4 | Preauthorization Cancelation (preauthorization_cancel ) |
111 | Preauthorization registration to an existing user (create_preauthorization_token ) |
13 | Defered Preauthorization Registration (User implicit registration in the system) (defered_create_preauthorization ) |
16 | Defered Preauthorization Confirmation (defered_preauthorization_confirm ) |
14 | Defered Preauthorization Cancelation (defered_preauthorization_cancel ) |
Parameters
Execution of User Registration in the system (add_user
)
This operation will register a new user in the system and make the appropriate notification.
In order to execute a successful request, it will be necessary to submit the following information:
Element | Content | Description |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
OPERATION | [0-9]{1,3} | Mandatory. Operation type. For registration of users in the system, the operation type will be 107 |
LANGUAGE | [A-Za-z0-9]{2} | Language of the payment environment ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See Signature Calculation. |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Identifier of the operation. |
Signature Calculation
The signature that the business will send to the gateway will be calculated in the following manner (in pseudocode):
SHA512( MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + md5(PASSWORD))
Notification (Request to URL)
The notification of the user registration in the system will only be sent by request to the URL configured in the control panel. No notification of user registration will be sent by email.
The notification parameters are passed to the target URL using the POST method according to the following table:
Element | Content | Description |
---|---|---|
TransactionType | Numerical | Operation type (107) |
TransactionName | Alphanumerical | Description of the operation type |
CardCountry | Alphanumerical | Card issuing country. May be left empty |
DateTime | Numerical | Date of operation. Format yyyymmddhhmmss |
Signature | Alphanumerical | Notification signature. See Signature Calculation. |
Order | Alphanumerical | Reference provided by business |
Response | Alphanumerical | Final status of operation. OK / KO |
ErrorID | Numerical | Error code. 0 = No error 1 = The operation returned an error |
Language | Alphanumerical | Language of the payment environment ("ES","EN","FR","DE","IT") |
AccountCode | Alphanumerical | Customer code |
TpvID | Alphanumerical | Terminal number |
IdUser | Numerical | Id of the new user registered in the system. In case of error it will be returned empty. |
TokenUser | Alphanumerical | Token of the new user registered in the system. In case of error it will be returned empty. |
CardType | Alphanumerical | (Empty), CREDIT, DEBIT, CHARGE CARD |
Signature Calculation
Notifications will include a signature for verification of the integrity of the data. The calculation of the same is made in the following manner (in pseudocode):
SHA512( MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + DateTime + md5(PASSWORD))
Execution of charge (User implicit registration in the system) (execute_purchase
)
This operation will register a new user in the system and will perform the payment operation on that user. The result of the user registration and the payment operation will be notified.
In order to execute a successful request, it will be necessary to submit the following information:
Element | Content | Description |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
OPERATION | [0-9]{1,3} | Mandatory. Operation type in Execution of Charge is: 1 |
LANGUAGE | [A-Za-z0-9]{2} | Language of the payment environment ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. Signature Calculation. |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference of the operation. |
MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450... |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Optional. Description of the product |
3DSECURE | [0-1]{1} | Optional. Operation performed in secure (value 1) / non-secure (value 0). if not reported: non-secure. |
MERCHANT_SCORING | [0-100] | Optional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Signature Calculation
The signature that the business will send to the gateway will be calculated in the following manner (in pseudocode):
SHA512( MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notification (Request to URL)
The notification of the execution of a charge to a new user in the system shall be made as described Request to URL.
The notification parameters are passed to the target URL already specified in Request to URL and in case of correct user registration and payment, the following will also be returned:
Element | Content | Description |
---|---|---|
IdUser | Numerical | Id of the new user registered in the system. In case of error it will be returned empty. |
TokenUser | Alphanumerical | Token of the new user registered in the system. In case of error it will be returned empty. |
Execution of subscription registration (User implicit registration in the system) (create_subscription
)
The registration of a subscription implies the registration of a user in the BankStore system of PAYCOMET. This operation will register a new user in the system and will perform the operation of the first payment of the subscription. The result of the subscription shall be notified.
In order to execute a successful request, it will be necessary to submit the following information:
Element | Content | Description |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
OPERATION | [0-9]{1,3} | Mandatory. Operation type in Subscription registration is: 9 |
LANGUAGE | [A-Za-z0-9]{2} | Language of the payment environment ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See Signature Calculation. |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference of the operation. |
MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
SUBSCRIPTION_STARTDATE | [0-9]{8} | Mandatory. Subscription start date yyyymmdd. IMPORTANT: Subscriptions are charged on the first run if this field has value it will be taken into account for future charges. |
SUBSCRIPTION_ENDDATE | [0-9]{8} | Mandatory. Subscription end date yyyymmdd |
SUBSCRIPTION_PERIODICITY | [0-9]{1-365} | Mandatory. Frequency of the subscription. Expressed in days. |
3DSECURE | [0-1]{1} | Optional. Operation performed in secure (value 1) / non-secure (value 0). If not reported: non-secure. |
MERCHANT_SCORING | [0-100] | Optional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Signature Calculation
The signature that the business will send to the gateway will be calculated in the following manner (in pseudocode):
SHA512( MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notification (Request to URL)
The notification of the creation of a subscription (which implies the execution of the first payment) to a new user in the system shall be made as described for notifications in Request to URL.
The notification parameters are passed to the target URL already specified in Request to URL and in case of correct subscription registration (+ correct payment operation), the following will also be returned:
Element | Content | Description |
---|---|---|
IdUser | Numerical | Id of the new user registered in the system. In case of error it will be returned empty. |
TokenUser | Alphanumerical | Token of the new user registered in the system. In case of error it will be returned empty. |
Execution of Charges to an existing user (execute_purchase_token
)
This operation makes a charge to a user previously registered in the system. The result of the operation will be notified (as Type 1, Authorization).
In order to execute a successful request, it will be necessary to submit the following information:
Element | Content | Description |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
OPERATION | [0-9]{1,3} | Mandatory. Operation type in Execution of Charge to an existing user is: 109 |
LANGUAGE | [A-Za-z0-9]{2} | Language of the payment environment ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See Signature Calculation |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference of the operation. |
MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the IDUSER. |
3DSECURE | [0-1]{1} | Optional. Operation performed in secure (value 1) / non-secure (value 0). If not reported: non-secure. |
MERCHANT_SCORING | [0-100] | Optional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Signature Calculation
The signature that the business will send to the gateway will be calculated in the following manner (in pseudocode):
SHA512( MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notification (Request to URL)
The notification of the execution of charge to an existing user in the system shall be made as described in Request to URL.
The notification parameters are passed to the target URL already specified in Request to URL and also:
Element | Content | Description |
---|---|---|
IdUser | Numerical | Id of the user sent. |
TokenUser | Alphanumerical | Token of the user sent. |
Execution of subscription registration to an existing user (create_subscription_token
)
This operation creates a subscription for a user already in the system and executes the operation of the first payment of the same. The result of the operation will be notified (as Type 9, Subscription).
In order to execute a successful request, it will be necessary to submit the following information:
Element | Content | Description |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
OPERATION | [0-9]{1,3} | Mandatory. Operation type in Subscription registration to an existing user is: 110 |
LANGUAGE | [A-Za-z0-9]{2} | Language of the payment environment ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See Signature Calculation. |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference of the operation. |
MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
SUBSCRIPTION_STARTDATE | [0-9]{8} | Mandatory. Subscription start date yyyymmdd. IMPORTANT: Subscriptions are charged on the first run if this field has value it will be taken into account for future charges. |
SUBSCRIPTION_ENDDATE | [0-9]{8} | Mandatory. Subscription end date yyyymmdd |
SUBSCRIPTION_PERIODICITY | [0-9]{1-365} | Mandatory. Frequency of the subscription. Expressed in days. |
IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the IDUSER. |
3DSECURE | [0-1]{1} | Optional. Operation performed in secure (value 1) / non-secure (value 0). If not reported: non-secure. |
MERCHANT_SCORING | [0-100] | Optional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Signature Calculation
The signature that the business will send to the gateway will be calculated in the following manner (in pseudocode):
SHA512( MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notification (Request to URL)
The notification of the execution of charge to an existing user in the system shall be made as described in Request to URL.
The notification parameters are passed to the target URL already specified in Request to URL and also:
Element | Content | Description |
---|---|---|
IdUser | Numerical | Id of the user sent. |
TokenUser | Alphanumerical | Token of the user sent. |
Execution of Preauthorization Registration (User implicit registration in the system) (create_preauthorization
)
This operation will register a new user in the system and perform the operation of preauthorization registration. The result of the user registration and the preauthorization operation shall be notified.
In order to execute a successful request, it will be necessary to submit the following information:
Element | Content | Description |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
OPERATION | [0-9]{1,3} | Mandatory. Operation type in Preauthorization registration is: 3 |
LANGUAGE | [A-Za-z0-9]{2} | Language of the payment environment ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See Signature Calculation. |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference of the operation. |
MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100, 4.50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
3DSECURE | [0-1]{1} | Optional. Operation performed in secure (value 1) / non-secure (value 0). If not reported: non-secure. |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Optional. Description of the product |
MERCHANT_SCORING | [0-100] | Optional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Signature Calculation
The signature that the business will send to the gateway will be calculated in the following manner (in pseudocode):
SHA512( MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notification (Request to URL)
The notification of the execution of charge to an existing user in the system shall be made as described in Request to URL.
The notification parameters are passed to the target URL already specified in Request to URL and also:
Element | Content | Description |
---|---|---|
IdUser | Numerical | Id of the user sent. |
TokenUser | Alphanumerical | Token of the user sent. |
Execution of Preauthorization confirmation (preauthorization_confirm
)
This operation will perform the operation of preauthorization confirmation. The result of the preauthorization confirmation operation shall be notified.
In order to execute a successful request, it will be necessary to submit the following information:
Element | Content | Description |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
OPERATION | [0-9]{1,3} | Mandatory. Operation type in Preauthorization confirmation is: 6 |
LANGUAGE | [A-Za-z0-9]{2} | Language of the payment environment ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See Signature Calculation. |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference of the operation. |
MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100 4.50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
3DSECURE | [0-1]{1} | Optional. Operation performed in secure (value 1) / non-secure (value 0). If not reported: non-secure. |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Optional. Description of the product |
IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the IDUSER. |
Signature Calculation
The signature that the business will send to the gateway will be calculated in the following manner (in pseudocode):
SHA512( MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + md5(PASSWORD))
Notification (Request to URL)
The notification of the execution of charge to an existing user in the system shall be made as described in Request to URL.
Execution of Preauthorization cancellation (preauthorization_cancel
)
This operation will perform the operation of preauthorization cancellation. The result of the preauthorization cancellation operation shall be notified.
In order to execute a successful request, it will be necessary to submit the following information:
Element | Content | Description |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
OPERATION | [0-9]{1,3} | Mandatory. Operation type in Preauthorization confirmation is: 4 |
LANGUAGE | [A-Za-z0-9]{2} | Language of the payment environment ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See Signature Calculation. |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference of the operation. |
MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100 4.50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
3DSECURE | [0-1]{1} | Optional. Operation performed in secure (value 1) / non-secure (value 0). If not reported: non-secure. |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Optional. Description of the product |
IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the IDUSER. |
Signature Calculation
The signature that the business will send to the gateway will be calculated in the following manner (in pseudocode):
SHA512( MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + md5(PASSWORD))
Notification (Request to URL)
The notification of the execution of charge to an existing user in the system shall be made as described in Request to URL.
Preauthorization registration to an existing user (create_preauthorization_token
)
This operation performs the operation of preauthorization for a user previously registered in the system. The result of the operation will be notified (as Type 3, Preauthorization).
In order to execute a successful request, it will be necessary to submit the following information:
Element | Content | Description |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
OPERATION | [0-9]{1,3} | Mandatory. Operation type in Execution of Preauthorization for an existing user is: 111 |
LANGUAGE | [A-Za-z0-9]{2} | Language of the payment environment ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See Signature Calculation |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference of the operation. |
MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100 4.50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the IDUSER. |
3DSECURE | [0-1]{1} | Optional. Operation performed in secure (value 1) / non-secure (value 0). If not reported: non-secure. |
MERCHANT_SCORING | [0-100] | Optional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Signature Calculation
The signature that the business will send to the gateway will be calculated in the following manner (in pseudocode):
md5(MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notification (Request to URL)
The notification of the execution of charge to an existing user in the system shall be made as described in Request to URL.
The notification parameters are passed to the target URL already specified in Request to URL and also:
Element | Content | Description |
---|---|---|
IdUser | Numerical | Id of the user sent. |
TokenUser | Alphanumerical | Token of the user sent. |
Card validation and confirmation (User implicit registration in the system) (deferred_preauthorization
)
This type of operation allows the merchant to validate if the card details entered are correct. In this validation, the authentication of the holder is carried out unless the business does not have a secure payment method (Type 13). To use it with REST, it is a question of calling preatuh to verify the card with the payment details and confirmpreauth to complete it, with the parameter deferred = 1 in both cases. To use it with GET you have to call deferred_preauthorization and deferred_preauthorization_confirm similarly.
In order to execute a successful request, it will be necessary to submit the following information:
Element | Content | Description |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
OPERATION | [0-9]{1,3} | Mandatory. Operation type in Defered Preauthorization registration is: 13 |
LANGUAGE | [A-Za-z0-9]{2} | Language of the payment environment ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See Signature Calculation. |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference of the operation. |
MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100 4.50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
3DSECURE | [0-1]{1} | Optional. Operation performed in secure (value 1) / non-secure (value 0). If not reported: non-secure. |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Optional. Description of the product |
MERCHANT_SCORING | [0-100] | Optional. Valor de scoring de riesgo de la transacción. Entre 0 y 100. |
Signature Calculation
The signature that the business will send to the gateway will be calculated in the following manner (in pseudocode):
SHA512( MERCHANT_MERCHANTCODE + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + MERCHANT_CURRENCY + md5(PASSWORD))
Notification (Request to URL)
The card validation notification on the system will be carried out in accordance with section URL call notification.
The notification parameters are passed to the target URL already specified in Request to URL and also:
Element | Content | Description |
---|---|---|
IdUser | Numerical | Id of the user sent. |
TokenUser | Alphanumerical | Token of the user sent. |
Approval after card validation (deferred_preauthorization_confirm
)
This operation will carry out the card validation confirmation operation. The result of the card validation confirmation operation will be reported (Type 16).
In order to execute a successful request, it will be necessary to submit the following information:
Element | Content | Description |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
OPERATION | [0-9]{1,3} | Mandatory. Operation type in Defered Preauthorization confirmation is: 16 |
LANGUAGE | [A-Za-z0-9]{2} | Language of the payment environment ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See Signature Calculation. |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference of the operation. |
MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100 4.50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
3DSECURE | [0-1]{1} | Optional. Operation performed in secure (value 1) / non-secure (value 0). If not reported: non-secure. |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Optional. Description of the product |
IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the IDUSER. |
Signature Calculation
The signature that the business will send to the gateway will be calculated in the following manner (in pseudocode):
SHA512( MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + md5(PASSWORD))
Notification (Request to URL)
The notification of execution of a card validation will be carried out in accordance with section URL call notification.
Cancellation after card validation (deferred_preauthorization_cancel
)
This operation will carry out the card validation cancellation operation. The result of the card validation cancellation operation will be reported (Type 14).
In order to execute a successful request, it will be necessary to submit the following information:
Element | Content | Description |
---|---|---|
MERCHANT_MERCHANTCODE | [A-Za-z0-9]{1,8} | Mandatory. Customer code |
MERCHANT_TERMINAL | [0-9]{1,5} | Mandatory. Terminal number |
OPERATION | [0-9]{1,3} | Mandatory. Operation type in Defered Preauthorization cancel is: 14 |
LANGUAGE | [A-Za-z0-9]{2} | Language of the payment environment ("ES","EN","FR","DE","IT") |
MERCHANT_MERCHANTSIGNATURE | [a-zA-Z0-9] | Mandatory. See Signature Calculation. |
MERCHANT_ORDER | [A-Za-z0-9]{1,12} | Mandatory. Reference of the operation. |
MERCHANT_AMOUNT | [0-9]{1,8} | Mandatory. Amount of the operation in integer format. 1.00 EURO = 100 4.50 EUROS = 450 |
MERCHANT_CURRENCY | [EUR][USD][GBP][JPY] | Mandatory. Currency of the transaction. See more information in CURRENCY |
3DSECURE | [0-1]{1} | Optional. Operation performed in secure (value 1) / non-secure (value 0). If not reported: non-secure. |
MERCHANT_PRODUCTDESCRIPTION | [a-zA-Z0-9]{125} | Optional. Description of the product |
IDUSER | [0-9]{1,13} | Mandatory. Unique identifier of the user registered in the system. |
TOKEN_USER | [A-Za-z0-9]{1,20} | Mandatory. Token code associated with the IDUSER. |
Signature Calculation
The signature that the business will send to the gateway will be calculated in the following manner (in pseudocode):
SHA512( MERCHANT_MERCHANTCODE + IDUSER + TOKEN_USER + MERCHANT_TERMINAL + OPERATION + MERCHANT_ORDER + MERCHANT_AMOUNT + md5(PASSWORD))
Notification (Request to URL)
The notification of execution of charges to a user by reference will be carried out in accordance with section URL call notification.
Overwriting parameters URLOK and URLKO
In addition to the parameters mentioned above for each operation type, and in a generic and transverse manner to all the operations, it is possible to overwrite the URLOK and URLKO parameters. Said parameters tell the system which URLs to redirect the result of the operation to, in terms of their success or denial.
This is available in almost all banks. If you need to use it please check this matter with PAYCOMET.
Important
The maximum characters for URLOK and URLKO is 255.
APPENDIX I – Business signature calculation
The signature will be calculated on the server of the business and shall cover the main parameters of the request to verify the integrity of the data over the Internet and the browser of the buyer.
The SHA512 encryption algorithm will be used for this purpose, which enables us to encrypt a text string. These types of one direction algorithms prevent the initial parameter from being obtained using the result.
The signature will be calculated differently depending on the function used to verify the integrity of data sent to the platform.
To facilitate the generation of the signature in languages without the necessary tools for the calculation of SHA512 algorithms, a series of libraries have been included. These files can be downloaded from the section Support->Documentation of the customer control panel.
Some of these libraries have been created by persons or entities not related to PAYCOMET. Consult the content of each file for further information.
Signature calculation depending on the function used
The signature that the business will send to the gateway will be calculated in the following manner (in pseudocode):
Function: (add_user
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_MERCHANT_PAN + DS_MERCHANT_CVV2 + DS_MERCHANT_TERMINAL + PASSWORD)
Function: (info_user
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + PASSWORD)
Function: (remove_user
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + PASSWORD)
Function: (execute_purchase
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_AMOUNT + DS_MERCHANT_ORDER + PASSWORD)
Function: (execute_purchase_dcc
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_AMOUNT + DS_MERCHANT_ORDER + PASSWORD)
Function: (confirm_purchase_dcc
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_MERCHANT_TERMINAL + DS_MERCHANT_ORDER + DS_MERCHANT_DCC_CURRENCY + DS_MERCHANT_DCC_SESSION + PASSWORD)
Function: (execute_refund
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_AUTHCODE + DS_MERCHANT_ORDER + PASSWORD)
Function: (create_subscription
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_MERCHANT_PAN + DS_MERCHANT_CVV2 + DS_MERCHANT_TERMINAL + DS_SUBSCRIPTION_AMOUNT + DS_SUBSCRIPTION_CURRENCY + PASSWORD)
Function: (edit_subscription
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_SUBSCRIPTION_AMOUNT + PASSWORD)
Function: (remove_subscription
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + PASSWORD)
Function: (create_subscription_token
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_SUBSCRIPTION_AMOUNT + DS_SUBSCRIPTION_CURRENCY + PASSWORD)
Function: (create_preauthorization
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_AMOUNT + DS_MERCHANT_ORDER + PASSWORD)
Function: (preauthorization_confirm
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_ORDER + DS_MERCHANT_AMOUNT + PASSWORD)
Function: (preauthorization_cancel
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_ORDER + DS_MERCHANT_AMOUNT + PASSWORD)
Function: (deferred_preauthorization_confirm
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_ORDER + DS_MERCHANT_AMOUNT + PASSWORD)
Function: (deferred_preauthorization_cancel
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_IDUSER + DS_TOKEN_USER + DS_MERCHANT_TERMINAL + DS_MERCHANT_ORDER + DS_MERCHANT_AMOUNT + PASSWORD)
Function: (add_user_token
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_MERCHANT_JETTOKEN + DS_MERCHANT_JETID + DS_MERCHANT_TERMINAL + PASSWORD)
Function: (execute_purchase_rtoken
)
SHA512(DS_MERCHANT_MERCHANTCODE + DS_MERCHANT_TERMINAL + DS_MERCHANT_AMOUNT + DS_MERCHANT_ORDER + DS_MERCHANT_IDENTIFIER + PASSWORD)
APPENDIX II – OPERATION TYPES
The operation types that will be notified are detailed in the following table:
ID | Operation |
1 | Authorization |
2 | Refund |
3 | Preauthorization |
4 | Preauthorization cancellation |
6 | Preauthorization confirmation |
9 | Subscription |
13 | Defered Preauthorization Registration |
14 | Defered Preauthorization Confirmation |
16 | Defered Preauthorization Cancellation |
106 | Chargeback |
107 | Bankstore user registration |
Appendix II - Advanced signature VHASH
The advanced signature VHASH aims to secure and keep the integrity of personal data information that may contain the variables sent in the IFRAME generation. This feature must be activated by PAYCOMET.
The signature that the business will send to the gateway is calculated in the following manner (in pseudocode):
SHA512( MD5( QUERY_STRING + MD5( PASSWORD ) ) )
The calculated signature must be included in the parameters of the call.
Element | Content | Description |
---|---|---|
VHASH | [A-Za-z0-9]{128} | Optional. Advanced signature. |