supertappo-sdk
v1.1.17
Published
Nodejs sdk for super tappo
Downloads
8
Readme
Requirements
Node v12.0.0 and later.
Getting Started
const { HostCheckout } = require('supertappo-sdk')
const env = 'DEVELOPMENT' // env = DEVELOPMENT | PRODUCTION
const hostedCheckout = new HostCheckout(clientId, clientSecret, env);
const order = await hostedCheckout.createOrder({
orderId: '1', // Your order Id
referenceId: 'TappoRefId', // Your Reference Id
amount: 10, // Amount of the order
redirectUrl: 'https://supertappo.app' // The url which customer is able to back when the order is done
});
Webhook
const registerWebHook = () => {
await hostedCheckout.registerWebHook({
webhookUrl: 'https://supertappo.app', // the webHookUrl
secretKey: clientSecret
});
}
// Webhook request:
// Method: POST
// Header: x-secret-key: hmacsha256 hash method:
// To verify it, use the request json body to hash with method hmacsha256 with secret key that registered with webhook url. Then, compare it with x-secret-key value.
// Body:
// {
// "orderId": "client order id",
// "orderStatus": "PENDING | PAID | FAILED", // based on payment status
// "paymentPrice": 1.0
// }
Api endpoints
BASE_URL = DEV ? 'https://test-auth.supertappo.app' : 'https://auth.supertappo.app'
Authentication:
+ Endpoints: 'oauth2/token?grant_type=client_credentials'
+ Method: Post
+ Basic auth:
username: clientId
password: clientSecret
+Response:
access_token: string
scope: string
access_token: token_type
expires_in: string
Create order:
+ Endpoints: '/oauth/v1/hosted-checkout/init'
+ Method: Post
+ Data:
orderId: '1', //Your order Id
referenceId: 'TappoRefId', // Your Reference Id
amount: 10, // Amount of the order
redirectUrl: 'https://supertappo.app' // The url which customer is able to back when the order is done
+ Bearer auth: access_token from authentication api
+Response:
id: string,
orderId: string,
orderStatus: string //NEW| PENDING | PAID | FAILED,
paymentPrice: number,
orderedDate: ISO string,
redirectUrl: string,
orderDetail: {
referenceId: stromg
},
businessInfo: {
id: string,
userId: string,
name: string,
description: string,
businessUrl: string,
address: string,
phone: string
}
BASE_WEB_APP_URL = DEV ? 'https://test.supertappo.dev' : 'https://supertappo.app'
You have to access this page for further process: ${BASE_WEB_APP_URL}/hosted-checkout/process/${orderId}