Перейти до основного вмісту

Виплати на платіжні картки

Цей платіжний метод дозволяє використовувати тільки direct-інтеграцію для проведення виплат.

Формат взаємодії:

Схема взаємодії сервісів

інформація

Використання direct-інтеграції потребує проходження сертифікації PCI DSS.

Особливості проведення транзакцій виплати:

  • Для створення транзакції виплати використовуйте HTTP-метод POST.

Параметри запиту:

ParameterTypeRequiredDescription
pos_idUUIDMerchant's identifier (POS_ID)
modeMODEdirect
methodMETHODcredit
amountNumberTransaction amount. Must be a positive number. The number of decimal digits must be less than or equal to 2 (e.g., 100.00, 250, 50.50)
currencyCURRENCYTransaction currency (ISO_4217)
descriptionStringPayment description
order_idStringUnique identifier of transfer
cc_numberCC_NUMBERRecipient's card number
order_3ds_bypassString3-D Secure flow option
customer_idStringCustomer's identifier in merchant's system
customer_fnameStringCustomer's first name
customer_lnameStringCustomer's last name
customer_emailStringCustomer's email
customer_phoneStringCustomer's phone
customer_ipStringCustomer's IP address
customer_countryStringCustomer country (ISO 3166-1 (alpha-2)). For instance, UA for Ukraine
customer_cityStringCustomer's city
customer_birthdayDateCustomer's birthday (format: yyyy-MM-dd)
server_urlURLWebhook notification will be sent to this URL
result_urlURLCustomer will be redirected to this URL after payment.
merchant_mccMCCMCC for this transaction
payloadStringField for custom data. Max 4000 symbols.
validation_urlURLPreflight request will be sent to this URL
propertiesJSONAdditional specific parameters for integrations

Окрім того, додатково в запиті в обʼєкті properties можуть передаватися також такі параметри:

ParameterTypeDescription
recipient_first_nameStringRecipient's first name
recipient_middle_nameStringRecipient's middle name
recipient_last_nameStringRecipient's last name
recipient_doc_numberStringRecipient's document number
recipient_doc_issue_dateDateRecipient's document issue date (format: yyyy-MM-dd)
recipient_doc_issued_byStringRecipient's place that issued his/her document
recipient_phoneStringRecipient's phone
recipient_birth_dateDateRecipient's birth date (format: yyyy-MM-dd)
recipient_birth_placeStringRecipient's birth place
recipient_countryStringRecipient's citizenship (ISO_3166-2)
recipient_cityStringRecipient's city
recipient_addressStringRecipient's address
recipient_postcodeStringRecipient's postcode
wallet_numberStringWallet number
is_operation_taxableStringDisplays the special taxation regime for the credit transaction

Параметр properties.is_operation_taxable використовується мерчантами, що ведуть діяльність у сфері iGaming для розмежування операцій повернення раніше внесених клієнтами коштів (false) та виплат виграшів (true), що мають спеціальний режим оподаткування.

Залежно від того, що використовується у запиті — повні карткові дані чи токен, — вам необхідно передавати такі параметри:

  • Використання повного номеру картки: cc_number
  • Використання токену cc_token

Приклад запиту з картковими даними:

$ curl "https://api.finline.io/api/v1/payment" \
--header 'Content-Type: application/json' \
--header 'X-API-AUTH: CPAY ${API_KEY}:${API_SECRET}' \
--header 'X-API-KEY: ${ENDPOINTS_KEY}' \
--header 'X-Requested-With: XMLHttpRequest' \
--header 'Cookie: psessionid=eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImNzcmZUb2tlbiI6IjFmYzYzOTMxMDNkYzQ0NTc2ZmE5ODNlMjNjMWI2ZjY3NjY0YjEyNDUtMTcyMTM3NzA5MjY1Mi1kZWM1YjExZWQ5Y2RlNTBjY2JlYmVmMjMifSwibmJmIjoxNzIxMzc3MDkyLCJpYXQiOjE3MjEzNzcwOTJ9.2II15Dxju3mz2umPic-NHlzXdJ5rObHMqYj2sUldkHM' \
--data '{
"pos_id": "238afc85-a179-41d3-9ad7-e8ccaa803dc5",
"mode": "direct",
"method": "credit",
"amount": 100,
"currency": "UAH",
"description": "Credit description",
"order_id": "01586b85-78c0-4bfd-807d-c7124e7be186",
"order_3ds_bypass": "always",
"cc_number": "4242424242424242",
"exp_month": 3,
"exp_year": 24,
"card_cvv": "111",
"server_url": "https://callback.blackhole.com/callback",
"result_url": "https://example.com/result",
"payload": "sale=true",
"properties":
{
"is_operation_taxable": "true"
}'
}'

Приклад запиту з токеном:

$ curl --location 'https://[WL_domain]/api/v1/payment' \
--header 'Content-Type: application/json' \
--header 'X-API-AUTH: CPAY ${API_KEY}:${API_SECRET}' \
--header 'X-API-KEY: ${ENDPOINTS_KEY}' \
--header 'X-Requested-With: XMLHttpRequest' \
--header 'Cookie: psessionid=eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImNzcmZUb2tlbiI6IjFmYzYzOTMxMDNkYzQ0NTc2ZmE5ODNlMjNjMWI2ZjY3NjY0YjEyNDUtMTcyMTM3NzA5MjY1Mi1kZWM1YjExZWQ5Y2RlNTBjY2JlYmVmMjMifSwibmJmIjoxNzIxMzc3MDkyLCJpYXQiOjE3MjEzNzcwOTJ9.2II15Dxju3mz2umPic-NHlzXdJ5rObHMqYj2sUldkHM' \
--data '{
"pos_id": "238afc85-a179-41d3-9ad7-e8ccaa803dc5",
"mode": "direct",
"method": "credit",
"amount": 100,
"currency": "UAH",
"description": "Credit description",
"order_id": "01586b85-78c0-4bfd-807d-c7124e7be186",
"order_3ds_bypass": "always",
"cc_token": "ODJkZjBhNmY2OTMyNDJlN2wjMjFjfTQzOXU3ZDFhYzI6cWJmWHFmMHlzM3hYaXJMWEZv",
"server_url": "https://callback.blackhole.com/callback",
"result_url": "https://example.com/result",
"payload": "sale=true",
"properties":
{
"is_operation_taxable": "true"
}'
}'

Параметри відповіді:

ParameterTypeDescription
payment_idUUIDUnique Financial Line payment identifier
order_idString(≤256)Unique identifier of order
gateway_order_idGW_IDUnique order identifier in bank acquirer system.
billing_order_idBILLING_IDUnique Financial Line billing identifier
transaction_idUUIDFinancial Line transaction identifier
pos_idUUIDMerchant's identifier (POS_ID)
modeMODEdirect
methodMETHODcredit
amountNumberTransaction amount
currencyCURRENCYTransaction currency (ISO_4217)
descriptionString(≤2048)Payment description
statusSTATUSTransaction status
status_codeSTATUS_CODEFinancial Line payment status code
status_descriptionStringFinancial Line payment status code description
user_action_requiredBooleanEither customer action is required to proceed with payment
eciECIElectronic Commerce Indicator - authentication result of credit card payment on 3D Secure
mccMCCMCC for this transaction
options_3dsString3-D Secure flow option
cc_maskCC_MASKCard number mask
cc_tokenCC_TOKENFinancial Line card token generated for this card
cc_token_expirationTIMESTAMPToken expiration timestamp
customer_idStringCustomer's identifier in merchant's system
customer_ipIPCustomer's IP address
customer_fnameStringCustomer's first name
customer_lnameStringCustomer's last name
customer_emailStringCustomer's email
customer_phoneStringCustomer's phone
customer_countryStringCustomer country (ISO 3166-1 (alpha-2)). For instance, UA for Ukraine
customer_cityStringCustomer's city
customer_birthdayDateCustomer's birthday
result_urlURLCustomer will be redirected to this URL after payment.
created_atTIMESTAMPTimestamp when transaction was created
processing_timeTIMESTAMPTimestamp when transaction was updated last time
feeObjectAmount and currency of commission
fixed_feeObjectAmount and currency of fixed commission (fee), which constitutes a portion of the total commission (fee)
percent_feeObjectAmount and currency representing the interest commission (fee), which constitutes a portion of the total commission (fee)
payloadString(≤4096)Field for custom data.
propertiesJSONAdditional specific parameters for integrations

Приклад відповіді:

{
"payment_id": "9b1392a5-d030-4e85-b02d-9b7191ea2a5e",
"order_id": "123",
"gateway_order_id": "9B39A076243EB3EBB0925EAA981763AC:158545961",
"billing_order_id": "11231231231",
"transaction_id": "a8d80c86-0c7b-41bc-b63d-1e78f80edcd9",
"pos_id": "dc728de1-51ef-4ef1-80f7-3b44b07b5667",
"mode": "direct",
"method": "credit",
"amount": 1000,
"currency": "UAH",
"description": "P2P description",
"status": "success",
"status_code": "1000",
"status_description": "Transaction is successful.",
"user_action_required": false,
"eci": "7",
"mcc": "4900",
"options_3ds": "supported",
"cc_mask": "424242******4242",
"cc_token": "ODJkZjBhNmY2OTMyNDJlN2wjMjFjfTQzOXU3ZDFhYzI6cWJmWHFmMHlzM3hYaXJMWEZv",
"cc_token_expiration": "2020-10-10T10:10:22",
"customer_id": "123",
"customer_ip": "194.183.171.239",
"customer_fname": "Tom",
"customer_lname": "Hanks",
"customer_email": "tom.hanks@example.com",
"customer_phone": "+380999999999",
"customer_country": "UA",
"customer_city": "Ivano-Frankivsk",
"customer_birthday": "1999-04-02",
"result_url": "https://example.com/result",
"created_at": "2018-10-10T10:10:22.100",
"processing_time": "2018-10-10T10:10:23.300",
"fee": {
"amount": 136,
"currency": "UAH"
},
"percent_fee": {
"amount": 126,
"currency": "UAH"
},
"fixed_fee": {
"amount": 10,
"currency": "UAH"
},
"payload": "sale=true",
"properties": {
"recipient_first_name":"Petro",
"recipient_last_name":"Petrenko",
"recipient_middle_name":"Petrovych",
"recipient_doc_number":"1234567890",
"recipient_doc_issue_date":"2015-08-12",
"recipient_doc_issued_by":"Kyiv RV UMVS",
"recipient_phone":"380999999999",
"recipient_birth_date":"2000-01-01",
"recipient_birth_place":"Kyiv",
"recipient_country":"UA",
"recipient_city":"Kyiv",
"recipient_address":"Kyiv City, Akademika Yangelia St. 18/1, ap. 309",
"recipient_postcode":"03056",
"wallet_number":"12345678900987"
}
}

Тестування платіжного процесу:

Знайдіть більше деталей у контрольному списку інтеграції.

Вихід в онлайн:

  1. Створити робочий проєкт у мерчант-порталі.
  2. Пройдіть сертифікацію PCI DSS.
  3. Коли наша команда Комплаєнсу активує робочий проєкт, замініть автентифікаційні дані тестового проєкту на дані робочого.

Дивіться також: