Швидкий старт
Прийміть свій перший онлайн-платіж через Tapaya Checkout за кілька викликів із сервера.
Hosted Checkout дає вам готову платіжну сторінку для карток, Apple Pay і Google Pay. Ваш сервер створює сесію для замовлення, клієнт платить, а ваш сервер підтверджує результат перед виконанням замовлення. Embedded Checkout розміщує захищені поля картки безпосередньо на вашій власній сторінці.
Спробуйте обидва сценарії нижче. Тестову картку вже заповнено, тож виберіть Pay і пройдіть платіж до кінця або спробуйте Apple Pay чи Google Pay. Обидва приклади є імітаціями, тому жодні дані не залишають ваш браузер.
Pay to
€121.00
Lipa Roasters
Korunní 12120 00 Praha 2, Czechia
Payment amount
€121.00
Espresso beans × 2
€34.00 each
€68.00
Pour-over kettle
€46.95
- Shipping
- €6.05
- VAT included in total (21%)
- €21.00
- Total due
- €121.00
Виберіть, як платитимуть клієнти
Send customers to a secure payment page that Tapaya runs for you.
- Customer pays
- On a Tapaya-hosted page
- You build
- One server call and a redirect
- Payment methods
- Cards, Apple Pay, Google Pay
- Branding
- Your logo and color
Drop secure card fields into the checkout page you already have.
- Customer pays
- Inside your own checkout page
- You build
- Payment endpoints and your checkout UI
- Payment methods
- Cards, Apple Pay, Google Pay
- Branding
- Your own page
Доступність
Checkout працює для схвалених мерчантів. І Hosted Checkout, і Embedded Checkout підтримують картки, Apple Pay і Google Pay. Доступність гаманців залежить від налаштувань Checkout, реєстрації домену, а також від пристрою та браузера клієнта. Embedded Checkout використовує Tapaya.js 0.2.0 і Node.js SDK 0.3.0. Почніть із пісочниці (sandbox), а потім виконайте кроки з розділу Перехід у робочий режим.
Прийом платежу
Проведіть онбординг мерчанта
Пройдіть онбординг мерчанта з можливістю онлайн-платежів або одночасно онлайн-платежів і платежів у торговій точці. Мерчанту, який використовує лише Checkout, термінал не потрібен. Надайте адресу вебсайту магазину та відомості про онлайн-бізнес і дочекайтеся схвалення платіжного процесора. Саме лише створення запису мерчанта чи API-ключа не вмикає платежі.
Відкрийте Checkout у Tapaya Platform. Мерчанти, які запитують онлайн-платежі, з'являються автоматично, зокрема ті, що очікують схвалення. Продовжуйте, коли мерчант матиме статус Ready.
Відкрийте Settings мерчанта. У розділі Merchant API key redirects додайте свій магазин до Allowed websites і задайте типові URL успіху та скасування. Платформа, яка використовує Secret key організації, натомість задає їх в Organization defaults. У прикладах використовується https://shop.example. Про гаманці та брендинг див. Налаштування Checkout.
Збережіть ключ на сервері
У Settings мерчанта виберіть Create merchant key і скопіюйте ключ tapaya_test_…. Він показується лише один раз. Зберігайте його тільки в серверній конфігурації. Йому ніколи не місце в коді браузера чи системі контролю версій.
TAPAYA_ENVIRONMENT=sandbox
TAPAYA_CHECKOUT_API_URL=https://api.sandbox.tapaya.com
TAPAYA_SECRET_KEY=tapaya_test_...SDK автоматично зчитує TAPAYA_SECRET_KEY і TAPAYA_ENVIRONMENT. Наведені нижче HTTP-приклади використовують TAPAYA_CHECKOUT_API_URL. Завантажте змінні в процес свого сервера; SDK не завантажує файли .env.
Надсилайте ключ як Authorization: Bearer <key>. Ключ мерчанта сам визначає свого мерчанта, тому інші заголовки не потрібні. Платформа, яка обслуговує багато мерчантів, натомість використовує Secret key організації та надсилає X-Tapaya-Merchant-Token у кожному запиті. Див. автентифікацію Checkout.
Створіть сесію Checkout
Коли клієнт натискає Checkout у вашому магазині, обчисліть остаточну суму на своєму сервері, збережіть замовлення з унікальним ключем спроби та створіть сесію. Поле merchantOrderId обов'язкове, а замовлення можна оплатити лише один раз. Суми вказуються в мінімальних одиницях валюти, тож 12100 означає 121,00 EUR.
Для Node.js 22.13.0 або новішої версії встановіть ESM SDK, перш ніж використовувати приклад Node.js SDK:
npm install @tapayadot/checkoutconst response = await fetch(
new URL('/merchant/checkout-sessions', process.env.TAPAYA_CHECKOUT_API_URL),
{
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.TAPAYA_SECRET_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': order.checkoutAttemptKey,
},
body: JSON.stringify({
merchantOrderId: order.id,
amount: order.totalInMinorUnits,
currency: order.currency,
successUrl: 'https://shop.example/checkout/return',
cancelUrl: 'https://shop.example/checkout/cancel',
}),
},
);
if (!response.ok) throw new Error(`Checkout failed (${response.status})`);
const session = await response.json();Якщо запит завершився тайм-аутом, повторіть його з тим самим ключем і тілом. API повертає початкову сесію замість того, щоб створювати другу.
Переспрямуйте клієнта
Збережіть session.id разом із замовленням, а потім переспрямуйте браузер на session.url за допомогою HTTP 303. Використовуйте URL точно в тому вигляді, у якому його повернуто.
// First persist session.id as the order's checkoutSessionId.
return Response.redirect(session.url, 303);Tapaya показує підсумок замовлення та захищену платіжну форму, а також виконує токенізацію, 3-D Secure і стягнення оплати. Після відмови клієнт може спробувати іншу картку на тій самій сторінці. Сесії приймають нові платежі протягом 30 хвилин.
Перевірте платіж на своєму сервері
Коли клієнт потрапляє на ваш URL успіху або скасування, отримайте сесію за допомогою свого Secret key і порівняйте її зі збереженим замовленням. Саме лише переспрямування ніколи не доводить оплату.
const response = await fetch(
new URL(
`/merchant/checkout-sessions/${encodeURIComponent(order.checkoutSessionId)}`,
process.env.TAPAYA_CHECKOUT_API_URL,
),
{ headers: { Authorization: `Bearer ${process.env.TAPAYA_SECRET_KEY}` } },
);
if (!response.ok) throw new Error(`Status check failed (${response.status})`);
const current = await response.json();Для обох інтеграцій порівняйте результат зі збереженим замовленням, перш ніж його виконувати:
const matches =
current.id === order.checkoutSessionId &&
current.merchantOrderId === order.id &&
current.amount === order.totalInMinorUnits &&
current.currency === order.currency;
if (matches && current.paymentStatus === 'successful') {
await fulfillOnce(order); // idempotent, safe on repeated visits
}Якщо статус усе ще unpaid або отримати сесію не вдається, збережіть ID сесії та перевірте знову. Вебхуків поки немає, тому запускайте завдання звірки для клієнтів, які закривають вкладку до повернення.
Перехід у робочий режим
-
Пройдіть онбординг мерчанта у робочому середовищі з онлайн-платежами або одночасно з онлайн-платежами та платежами в торговій точці. Надайте адресу вебсайту магазину та відомості про онлайн-бізнес. Наявному мерчанту з платежами в торговій точці все одно потрібне схвалення платіжного процесора для онлайн-платежів.
-
Перевірте в налаштуваннях Checkout, що мерчант має статус Ready. Для цього потрібні активний мерчант, схвалення платіжного процесора для онлайн-платежів і налаштований шлюз робочого середовища.
-
Створіть checkout-ключ мерчанта для робочого середовища або використовуйте Secret key організації для робочого середовища разом із токеном мерчанта. Зберігайте облікові дані робочого режиму на своєму сервері.
-
Задайте origin API та середовище для робочого режиму. Замініть конфігурацію пісочниці у своєму розгортанні:
Production server configuration TAPAYA_ENVIRONMENT=production TAPAYA_CHECKOUT_API_URL=https://api.tapaya.com TAPAYA_SECRET_KEY=tapaya_live_...HTTP-приклади використовують змінну
TAPAYA_CHECKOUT_API_KEY; задайте в ній також свій ключ робочого режиму. Використовуйте URL сесії точно в тому вигляді, у якому його повернуто. Сторінки Hosted Checkout у робочому середовищі відкриваються наhttps://checkout.tapaya.com. -
Налаштуйте URL повернення робочого середовища для Hosted Checkout. Для Apple Pay у вбудованій оплаті зареєструйте кожен домен магазину та розмістіть на ньому файл верифікації. Google Pay у робочому режимі потребує налаштованого Google Pay merchant ID.
-
Пройдіть контрольний список QA, зокрема перевірку на сервері та завдання в робочому середовищі, яке перевіряє невизначені платежі. У робочому середовищі використовуйте реальні способи оплати. Тестові картки пісочниці призначені лише для пісочниці.
Наступні кроки
Тестування
Тестові картки для успішного платежу, відмови та 3-D Secure на шлюзі пісочниці.
Hosted Checkout
Повний посібник для сервера з обробкою помилок і повторними спробами для кожного підходу.
Node.js SDK
Параметри клієнта, методи сесій, повторні спроби та типізовані помилки.
Інтеграція через API
Позиції замовлення, розбивка податків, дані клієнта та всі статуси сесії.
Налаштування Checkout
Гаманці, брендинг і адреси повернення в Tapaya Platform.
Embedded Checkout
Розмістіть захищені поля картки на власній сторінці оформлення замовлення та надсилайте оплату власною кнопкою оплати.