Additional capabilities
Dynamic descriptor
This is applicable when the acquirer has support for dynamic descriptor.
Dynamic descriptor allows to customize merchant name and location as they shown in cardholder's bank statement and SMS from issuer.
The default merchant name and location associated with MID may be overriden with custom values for each payment request. Dynamic descriptor is supported
in Authorize, Create and Rebill requests.
Dynamic descriptor data should be specified within extra_fields block as follows:
Required parameters
Name | Description | Example |
---|---|---|
dynamic_descriptor | Dynamic descriptor (*) | - |
*.merchant | Merchant name | BOOKSTORE LTD |
*.city | Merchant's city | New york |
*.country | Merchant's country (ISO 3166-1 alpha-2) | US |
Combined length of *.merchant and *.city values should not be more than 37 symbols and length of *.merchant alone should not be greater than 22
symbols. Both parameters may consist of alfanumeric characters and punctuation marks.
According to provided example values, resulting descriptor visible to cardholder may look like this:
BOOKSTORE LTD>New york US
Unique conversion of payments
If a unique identifier is transferred at payment, then all orders having one identifier, are considered one attempt. By identifier calculates a unique conversion of
payments. A unique order ID is supported in Authorize, Create and Rebill requests. For example, there were five attempts of order with the same identifier, one
of which was successful. In this case, the conversion will be 20% (5 attempts, successful - 1), but a unique conversion - 100%, because based on the logic of
counting unique attempts, it was one and ended in success.
A unique identifier is passed in the extra_fields block:
Name | Description | Example |
---|---|---|
attributes | Parameters (*) | - |
*.invoice_id | Unique identifier of payment | 741852963 |
Payments with 3-D Secure 2.0
Data for 3-D Secure 2.0 authentication is transmitted in the request Authorize in the parameter secure3d
Name | Description | Example |
---|---|---|
secure3d | 3-D Secure authentication (*) | - |
*.browser_details | Browser details | - |
*.*.browser_accept_header | Accepted content types | text/html |
*.*.browser_color_depth | Device color depth | 24 |
*.*.browser_ip | User IP | 109.86.86.86 |
..browser_language | Browser language | en |
.*.browser_screen_height | Browser area height | 1080 |
*.*.browser_screen_width | Browser area width | 1920 |
*.*.browser_timezone | Difference between browser timezone and UTC time in minutes | -180 |
*.*.browser_user_agent | Browser user agent | Mozilla |
*.*browser_java_enabled | Java enable flag in the browser | false |
*.*.window_height | Browser window height | 1080 |
*.*.window_width | Browser window width | 1920 |
If the authorization response looks like this:
then you need to collect in the user's browser a form that sends data to an invisible iframe using for these are the values of the method_url and
method_data parameters from the authorization response.
After the user's browser has submitted the form to an invisible iframe, you need to do the request which described in the section Continue 3DS Method URL
of authentication.
DSRP
The DSRP data is transmitted in the parameter secure3d
Name | Description | Example |
---|---|---|
secure3d | 3-D Secure authentication (*) | - |
*.dsrp | DSRP | 1 |
*.xid | PaRes transaction identifier (XID) | 8Rg2xYbxLUGsfZlkoh1JxAQFBM= |
*.cavv | Cardholder Authentication Verification Value from PaRes | AAABCBVRA2EYZXQBV1EDAAAAAA= |
*.eci | E-commerce Indicator (ECI) | 05 |
Parameter dsrp_wallet_id are applied only for the dsrp_type == masterpass. If the type of payment system is not specified, the default is ApplePay.
When working with DSRP, merchant gets a token, which contains the requisites for payment. Example of filling for the ApplePay:
Name for ApplePay | Name for API |
---|---|
applicationPrimaryAccountNumber | pan |
applicationExpirationDate | expiration_month expiration_year |
transactionAmount | amount |
transactionId | xid |
onlinePaymentCryptogram | cavv |
eciIndicator | eci |
The fields holder andcvv are not transmitted, because they are not contained in the token, dsrp always has the value 1 (true), eci is passed only if it is
contained in a token
Binding a payment card (Oneclick)
When creating a payment can be binding a buyer card. In the future, can be select one of the binded cards on the payment page. For binding the card, must be
specify the alphanumeric identifier of the buyer.
Card binding is performed on the payment page using the card save check box.
The id must not exceed 40 symbols, it is transmitted in the block extra_fields of the query Create:
Name | Description | Description |
---|---|---|
oneclick | Binding a card (*) | - |
*.customer_id | Buyer id | 0123654789 |
*.prechecked | Flag of filling the checkbox for saving the card | 1 |
Paged downloads of lists of orders and operations
For a list of orders or operations, you can specify the number of entries on the page. It is also possible to specify the page number to download list of orders
(operations).
Name | Description | Example |
---|---|---|
page | Number loadable page | 2 |
page_size | Number of records on the page | 50 |
If the page and page_size parameters are not specified, the page with the number 1 will be downloaded. She will be contain the number of entries by
default.
For example, if page = 2 and page_size = 50, then 50 entries will be downloaded, starting from the 51st.
HTTP headers in the response contain in the header Pagination links to subsequent and previous pages of list of orders (operations). If is downloaded first
page, there will only be a link to the next page of list. For example, if is downloaded a second page from the list of orders, the title will contain links of that type:
'<http://mybox.localhost?foo=bar&page_size=2&page=1>; rel="prev", <http://mybox.localhost?
foo=bar&page_size=2&page=3>; rel="next"'
If an incorrect values of the page_size or page parameters is set, to will be error of validation with that message:
'message' : 'Invalid page size' or 'message' => 'Invalid page'
Last updated