API Setup
Setup Server-Server API calls
Create a payment session through the Hands In API. The following describes the process for creating a Multi-Card payment session. To implement the same for group payment sessions, simply replace all multi-card references with group payments instead.
const handsInApiKey = "your api key"; // We do not recommend hardcoding this! Store this somewhere safe and use environment variables
// reference map just used as an example, in practice this would be stored in a DB
const references = new Map<OrderId, MultiCardId>();
router.post("/multicard", async (req, res, next) => {
const orderId = req.body.orderId;
if(!orderId) {
return;
}
/**
* The below is just some pseudocode which describes a
* process that could be potentially be used in your system.
* The main points are the following:
* 1. You are able to check if a multicard session already exists for an order
* 2. You are able to retrieve the multicard ID from a stored reference
* 3. If the reference has not been created, you are able to create a multi card
* payment and store a reference
**/
const referenceExists = checkReferenceExists(orderId)
if (referenceExists === true) {
const multiCardId = getReference(orderId);
return res.send(getExistingMultiCard(handsInApiKey, multiCardId));
} else {
const multiCardPayment = createMultiCardPayment(handsInApiKey, orderId);
createReference(orderId, multiCardPaymentId);
return res.send(multiCardPayment);
}
})
// helper functions
function createMultiCardPayment(handsInApiKey, orderId) {
const orderData = getOrderData(orderId);
// make call to Hands In API to create multi card payment
return fetch("https://api.handsin.com/v1/multi-card-payments", "POST", {
header: {["x-api-key"]: handsInApiKey},
data: {amountMoney: getOrderTotal(orderData)}
}
})
}
function checkReferenceExists(orderId) {
return reference.has(orderId);
}
function getReference(orderId) {
return reference.get(orderId);
}
function createReference(orderId, multiCardId){
reference.set(orderId, multiCardId);
}
Updated 4 months ago