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

NameDescriptionExample

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:

NameDescriptionExample

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

NameDescriptionExample

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:

{
"method3d_params": {
"method_url": "https://ds.testcert.testconnect.su/ma",
"method_data": "axJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly8zZHN0ZXN0Lm1kbWJhbmsucnUvY2dpLWJpb
i9jZ2lfbGlua193IiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiJkNDI0ZDFjMS02OTUwLTRkNmMtYTMwNy0zMTcxZDgzYjJiN2IifQ"
},
"message": "Method3d required",
"order_id": "60391976929806541"
}

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

NameDescriptionExample

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 ApplePayName 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:

NameDescriptionDescription

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

NameDescriptionExample

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