Поради / рекомендації

Платіжний віджет Liqpay

$liqpay = new LiqPay($public_key, $private_key);
$html = $liqpay->cnb_form(array(
'action'         => 'pay',
'amount'         => '1',
'currency'       => 'USD',
'description'    => 'description text',
'order_id'       => 'order_id_1',
'version'        => '3'
));
Параметри платіжного віджета
dataRequiredStringjson рядок з параметрами APIs закодований функцією base64_encode( json_string ), де base64_encode – повертає рядок, закодований методом base64
signatureRequiredStringУнікальний підпис кожного запиту base64_encode( sha1( private_key + data + private_key) ), де sha1 – повертається хеш у вигляді бінарного рядку з 20 символів.
embedToOptionalStringЕлемент на HTML-сторінці в якому буде відображений віджет
modeOptionalStringРежим відображення віджета на сайті. Можливі значення: embed – вбудоване вікно, popup – спливаюче вікно на Вашому сайті.
languageOptionalStringМова відображення віджету ruuken.
  <div id="liqpay_checkout"></div>
  <script>
	window.LiqPayCheckoutCallback = function() {
		LiqPayCheckout.init({
			data: "eyAidmVyc2lvbiIgOiAzLCAicHVibGljX2tleSIgOiAieW91cl9wdWJsaWNfa2V5IiwgImFjdGlv" +
			"biIgOiAicGF5IiwgImFtb3VudCIgOiAxLCAiY3VycmVuY3kiIDogIlVTRCIsICJkZXNjcmlwdGlv" +
			"biIgOiAiZGVzY3JpcHRpb24gdGV4dCIsICJvcmRlcl9pZCIgOiAib3JkZXJfaWRfMSIgfQ==",
			signature: "QvJD5u9Fg55PCx/Hdz6lzWtYwcI=",
			embedTo: "#liqpay_checkout",
			language: "ru",
			mode: "embed" // embed || popup
		}).on("liqpay.callback", function(data){
			console.log(data.status);
			console.log(data);
		}).on("liqpay.ready", function(data){
			// ready
		}).on("liqpay.close", function(data){
			// close
		});
	};
  </script>
  <script src="//static.liqpay.ua/libjs/checkout.js" async></script>
Параметри для формування data:
Основні
ParameterRequiredTypeDescription
versionRequiredNumberВерсія API. Поточне значення – 3
public_keyRequiredStringПублічний ключ – ідентифікатор магазину. Отримати ключ можна в налаштуваннях магазину
actionRequiredStringТип операції. Можливі значення: pay – платіж, hold – блокування коштів на рахунку відправника, subscribe – регулярний платіж, paydonate – пожертва, auth – предавторізація картки
amountRequiredNumberСума платежу. Наприклад: 57.34
currencyRequiredStringВалюта платежу. Можливі значення: USDEURUAH
descriptionRequiredStringПризначення платежу.
order_idRequiredStringУнікальний ID покупки у Вашому магазині. Максимальна довжина 255 символів.
expired_dateOptionalStringЧас до якого клієнт може оплатити рахунок за UTC. Передається в форматі 2016-04-24 00:00:00
languageOptionalStringМова клієнта ruuken
paytypesOptionalStringПараметр в якому передаються способи оплати, які будуть відображені на чекауті. Можливі значення apay – оплата за допомогою Apple Pay, gpay – оплата за допомогою Google Pay, card – оплата карткою, liqpay – через кабінет liqpay, privat24 – через кабінет приват24, masterpass – через кабінет masterpass, moment_part – розстрочка, cash – готівкою, invoice – рахунок на e-mail, qr – сканування qr-коду. Якщо параметр не переданий, то застосовуються настройки магазину, вкладка Checkout.
result_urlOptionalStringURL у Вашому магазині на який покупець буде переадресовано після завершення покупки. Максимальна довжина510 символів.
server_urlOptionalStringURL API в Вашому магазині для повідомлень про зміну статусу платежу (сервер->сервер). Максимальна довжина 510 символів. Детальніше
verifycodeOptionalStringМожливе значення Y. Динамічний код верифікації, генерується і повертається в Callback. Так само згенерований код буде переданий в транзакції верифікації для відображення у виписці по картці клієнта. Працює для actionauth.

Платіж з розщепленням суми на декількох одержувачів. У цьому параметрі вказується JSON масив з правилами розщеплення платежу. При використанні параметра split_rules відбувається одне списання з клієнта і кілька зарахувань одержувачам. Еквайрингова комісія стягується з кожного магазину в масиві split_rules. Приклад JSON рядка:

[
  {
    "public_key": "i000000001",
    "amount": 1,
    "commission_payer": "sender",
    "server_url": "https://server1/callback"
  },
  {
    "public_key": "i000000002",
    "amount": 2,
    "commission_payer": "receiver",
    "server_url": "https://server2/callback"
  }
]
Параметри відправника
sender_address NEWOptionalStringАдреса відправника
sender_cityOptionalStringМісто відправника
sender_country_codeOptionalStringКод країни відправника. Цифровий ISO 3166-1 код
sender_first_nameOptionalStringІм’я відправника
sender_last_nameOptionalStringПрізвище відправника
sender_postal_codeOptionalStringПоштовий індекс відправника
Параметри захищеного платежу
letter_of_creditOptionalStringЩоб включити прийом платежів за акредитивом передайте параметр із значенням1
letter_of_credit_dateOptionalStringДата закінчення терміну акредитива в наступному форматі 2015-03-31 00:00:00 по UTC.
Параметри регулярного платежу
subscribeOptionalStringРегулярний платіж. Можливі значення: 1
subscribe_date_startOptionalStringДата першого платежу. Час необхідно вказувати в такому форматі 2015-03-31 00:00:00 по UTC. Якщо вказана минула дата, то підписка буде активована з поточної дати отримання запиту
subscribe_periodicityOptionalStringПеріодичність списання коштів. Можливі значення:
month – раз на місяць
year – раз на рік
Параметри для оплати в 1 клік
customerOptionalStringУнікальний ідентифікатор клієнта на сайті мерчанта. При передачі параметра LiqPay запам’ятовує платіжні реквізити клієнта і його ідентифікатор – подальша оплата може бути проведена в 1 клік. Максимальна довжина 100 символів.
(При використанні параметра для <b>Masterpass 1 клік</b>, в даному полі передається валідный номер телефону платника)
recurringbytokenOptionalStringДозволяє генерувати card_token платника, який ви отримаєте в callback запиті на server_urlcard_token дозволяє проводити платежі без введення реквізитів картки платника, використовуючи API оплати за токеном – тобто в 1 клік. Для отримання card_token необхідно передати в запиті значення: 1
customer_user_idOptionalStringІдентифікатор користувача в системі мерчанта, передається при кожній оплаті користувача (не повинен збігатися з customer, використовується для оплати за допомогою гаманця <b>Masterpass 1 клік</b>)
Інші параметри
daeOptionalStringДовгий запис Detail Addenda.
Параметр dae являє собою JSON рядок, до якого застосували функцію base64JSON може містити наступні параметри:
{
  "airLine": "Avia", // абревіатура авіакомпанії, max 4 символів.
  "ticketNumber": "ACSFD12354SA", // номер квитка, max 15 символів. 
  "passengerName": "John Doe", // ім'я пасажира, max 29 символів.
  "flightNumber": "742", // номер рейсу, max 5 цифр.
  "originCity": "DP", // код міста/аеропорту вильоту, max 5 символів.
  "destinationCity": "NY", // код міста/аеропорту призначення, max 5 символів.
  "departureDate": "100514" // дата вильоту в форматі YYMMDD, max 6 цифр.
}