Створення платежу
Як створити платіж, використовуючи картковий токен
У цьому розділі ми розглянемо, як створити платіж за допомогою модуля nestjs-monobank та методу createWithCardToken.
Виклик методу для створення платежу
Метод createWithCardToken дозволяє створити платіж, використовуючи дані токенізованої картки.
import { Injectable } from '@nestjs/common';
import { type CardTokenRequest, MonobankService } from 'nestjs-monobank';
@Injectable()
export class PaymentService {
constructor(private readonly monobankService: MonobankService) {}
async createPayment() {
const paymentData: CardTokenRequest = {
invoiceId: 'p2_9ZgpZVsl3',
cardToken: '67XZtXdR4NpKU3',
cvc: '123'
};
const payment = await this.monobankService.createWithCardToken(paymentData);
return payment.status;
}
}
Обробка відповіді від API
Метод повертає об'єкт типу CardToken, що містить статус транзакції та супутню інформацію.
{
"invoiceId": "2210012MPLYwJjVUzchj", // ідентифікатор рахунку (інвойсу)
"tdsUrl": "https://example.com/tds/url", // URL для проходження 3DS-підтвердження (опціонально)
"status": "success", // статус транзакції
"failureReason": "Неправильний CVV код", // причина невдачі транзакції (заповнюється тільки при помилці)
"amount": 4200, // сума транзакції у копійках (наприклад, 4200 = 42.00 грн)
"ccy": 980, // код валюти згідно ISO 4217 (наприклад, 980 = гривня)
"createdDate": null, // дата створення токену картки (може бути null, якщо ще не встановлено)
"modifiedDate": null // дата останньої модифікації токену картки (може бути null)
}
Отримані дані можна використовувати для відображення статусу платежу користувачу, перенаправлення на сторінку 3DS-підтвердження (якщо потрібно), обробки помилок або оновлення статусу замовлення у вашій системі.