Source | Gateway documentation
⚠️ This is fork - for relasing my custom package due safety, testing and optimalizations⚠️
Module for ČSOB CZ payment gateway, supports gateway version 1.9 (although not all features are yet implemented)
npm install @petrleocompel/csobcz_payment_gateway
All keys are strings, for multiline env strings (certificates) check dotenv#rules.
variable name | description |
---|---|
GATEWAY_URL |
payment gateway address |
MERCHANT_PRIVATE_KEY |
merchant private key |
MERCHANT_PUBLIC_KEY |
merchant public key |
BANK_PUBLIC_KEY |
bank public key |
CALLBACK_URL |
url called by gateway after payment |
MERCHANT_ID |
merchant id from gateway provider |
Alternatively using config:
import { CSOBPaymentModule } from '@petrleocompel/csobcz_payment_gateway';
const gateway = new CSOBPaymentModule({
logging: ...,
gateUrl: ...,
privateKey: ...,
merchantPublicKey: ...,
bankPublicKey: ...,
calbackUrl: ...,
merchantId: ...,
payloadTemplate: {}
})
Attribute logging
should be boolean
or function
used for debug info. By setting payloadTemplate
can by overwrited more init
method payload (see gateway config):
{
"merchantId": "...",
"payOperation": "payment",
"payMethod": "card",
"currency": "CZK",
"language": "CZ",
"returnUrl": "...",
"returnMethod": "POST"
}
status(string payId)
- returns payment statusinit(json payload)
- payment initgooglePayInit(json payload)
- GooglePay payment initapplePayInit(json payload)
- ApplePay payment initoneClickInit(json payload)
- OneClick payment initreverse(string payId)
- reverse payment with given payIdclose(string payId)
- close payment with given payIdrefund(string payId, int amount)
- refund payment with given payId, if amount specified given amount is refundedecho(string method)
- echo test, method is eitherGET
orPOST
(default)verifyResult(json payload)
- if success returnspayload
else returns error, payload is json returned from gateway callback.getRedirectUrl(string payId)
- returns url to gatewayprocessAppPayment("applepay" | "googlepay" type, string payId, object fingerprint)
- processes google or apple paymentprocessOneClickPayment(string payId)
- processes oneClick paymment
payOrder(json order, boolean close, json options)
- wrapper for init and getRedirectUrl,close
params isclosePayment
value,options
are merged into request payload order example
{
"id": "order1",
"description": "Moje order",
"items": [
{
"name": "Nákup: vasobchod.cz",
"quantity": 1,
"amount": 200,
"description": "Produkt 1"
}
]
}
allowed is 1-2 items.
getRedirectUrl(string payId)
- returns gateway url for redirection
All methods returns Promise
when resolved is JSON
payload specified in
Gateway documentation only Extra methods returns custom payload. Reject is JS Error
.
payOrder
,getRedirectUrl
- returnedJSON
{
"url": "https://api.platebnibrana.csob.cz/api/v1.7/payment/process/MERCHANDID/PAYID/20180504105513/KZr8D0z%2FVYFlX2fy0bs2NTafv...."
}
const gateway = require('csobcz_payment_gateway')
gateway
.echo('GET')
.then((result) => {
logger.log(result)
})
.catch((e) => {
logger.error(e)
})