zkpsdk-client
v1.0.2
Published
zksdk javascript client
Downloads
4
Readme
Features
- Allow merchant access to ZKPay APIs to create order/transaction, get transaction information and more
Installation
The client requires Node.js v10+ to run. Install the dependencies and start the server.
npm i zkpsdk-client
Required information to use this client
| # | Description | | ------ | ------ | | code | Receive when registered to zkpay. Use to identify merchant | | secret | Receive when registered to zkpay. Use for hash/security check data between merchant - zkpay | | apiKey | Receive when registered to zkpay. Use for access to merchant APIs with header "x-api-key" | | returnUrl | Return page/Callback page after success payment to render to user. Example: returnUrl: https://merchant.site/order then zkpay will redirect user to https://merchant.site/order?id=[merchantOrder] after success payment| | test | Use test/sandbox environment |
Development
- Create payment redirect page:
...
// init client
const client = new ZkClient({
code: "...",
secret: "...",
apiKey: "...",
returnUrl: "...",
test: true,
});
// init order
const order: MerchantOrder = {
orderId: "...",
userId: "...",
amount: 1000000,
};
// create payment url
const redirectUrl = client.getOrderRedirectUrl(order);
...
- Callback result When zkpay receive payment of your order. A callback action with detail payload will execute to merchant registered hook API
Init order -> Redirect to zkpay -> user make a payment -> success order callback
| # | Description | | ------ | ------ | | merchantId | Your registered ID to identity which merchant the transaction belongs to| | merchantOrder | Your order ID | | status | Status of zkpay transaction for your order. "SUCCESS" => Paid, // or EXPIRED => Unpaid | | transactionId | zkpay transaction ID |
In some unexpected cases, your order can be marked as EXPIRED (due to banking delay). We will execute the callback action after receive success payment again. In this case please handle the following flow:
Init order -> Redirect to zkpay -> user make a payment (banking delay) -> Order expired callback -> (zkpay receive payment -> success order callback)