Providers
Parampos
Parampos (Param / TurkPOS) integration reference.
Parampos uses Param's TurkPOS SOAP service.
Configuration
parampos: {
enabled: true,
config: {
clientCode: process.env.PARAMPOS_CLIENT_CODE!,
clientUsername: process.env.PARAMPOS_CLIENT_USERNAME!,
clientPassword: process.env.PARAMPOS_CLIENT_PASSWORD!,
guid: process.env.PARAMPOS_GUID!, // keep secret: callbacks are verified with it
// baseUrl: defaults from mode (test-dmz.param.com.tr / posws.param.com.tr)
},
}Amounts and installments
price→Islem_Tutar,paidPrice→Toplam_Tutar(the amount charged, including installment commission). Amounts are sent with a decimal comma.- For installments, compute
paidPricefrom the rates defined on your Param account. The library never adds commission itself. - Only TRY is supported (
TP_WMD_UCD). Other currencies returnfailure.
paymentId is your order id (Siparis_ID): the conversationId you pass, or
a generated alphanumeric id.
Direct Payment (non-3D)
const result = await payment.parampos.createPayment({ ...paymentRequest, conversationId: 'ORDER123' });3D Secure
const init = await payment.parampos.initThreeDSPayment({
...paymentRequest,
conversationId: 'ORDER123',
installment: 1,
callbackUrl: 'https://yoursite.com/api/pay/parampos/payment/complete-3ds',
});
// Render init.threeDSHtmlContent (UCD_HTML)Param POSTs md, mdStatus, orderId, islemGUID, islemHash, … to callbackUrl:
const result = await payment.parampos.completeThreeDSPayment(callbackBody);islemHashis verified with the GUID from your configuration. A GUID inside the callback is ignored.mdStatusmust be1.- The payment is finalized with
TP_WMD_Pay. It counts assuccessonly when Param returns aDekont_ID.
Refund, Cancel & Status
await payment.parampos.refund({ paymentId: 'ORDER123', price: '50.00', currency: 'TRY', ip: '1.2.3.4' });
// Same-day void. Param needs the full amount; without price it is looked up.
await payment.parampos.cancel({ paymentId: 'ORDER123', ip: '1.2.3.4' });
const status = await payment.parampos.getPayment('ORDER123'); // TP_Islem_Sorgulama4BIN
const bin = await payment.parampos.binCheck('444676'); // BIN_SanalPosInstallment queries are not implemented for Parampos yet.