UNPKG

sibs-payments

Version:

A payment system module for SIBS payments integration with card tokenization support

66 lines 2.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SaveCard = SaveCard; const types_1 = require("./types"); async function SaveCard(iam, data) { const now = new Date(); const auth = await (await fetch(types_1.API, { method: 'POST', headers: { "Content-Type": "application/json", "Authorization": `Bearer ${iam.bearerToken}`, "X-IBM-Client-Id": iam.clientId }, body: JSON.stringify({ "merchant": { "terminalId": iam.terminalId, "channel": "web", "merchantTransactionId": data.id || "" }, "transaction": { "transactionTimestamp": now.toISOString(), "description": data.description || "", "moto": false, "paymentType": "AUTH", "amount": { "value": 0, "currency": "EUR" }, "paymentMethod": [ "CARD" ] }, "customer": { "customerInfo": { "customerEmail": data.customerEmail, "shippingAddress": data.billingAddress, "billingAddress": data.billingAddress } }, "tokenisation": { "tokenisationRequest": { "tokeniseCard": true } } }) })).json(); const payment = await (await fetch(`${types_1.API}/${auth.transactionID}/card/purchase`, { method: 'POST', headers: { "Content-Type": "application/json", "Authorization": `Digest ${auth.transactionSignature}`, "X-IBM-Client-Id": iam.clientId }, body: JSON.stringify({ "cardInfo": { "PAN": data.PAN, "secureCode": data.secureCode, "validationDate": data.validationDate, "cardholderName": data.customerName, "createToken": true }, }) })).json(); return { auth, payment }; } //# sourceMappingURL=save-card.js.map