spgateway-api

1.0.1 • Public • Published

智付通API

簡化實作智付通付款流程與相關功能串接


已實作功能

範例

MPG Service

  • 付款(建立付款表單)
const SpGateway = require("spgateway-api");
 
const spgateway = new SpGateway(
    true, //(true for a dry run)
    your MerchantID,
    your HashKey,
    your HashIV,
    true // if you want to print info in console to debug. default is false
);
 
const mpgService = spgateway.createMpgService();
 
// crate payModel
let payModel = mpgService.createMpgPayModel();
// set properties
payModel.MerchantOrderNo = "myordernohere";
payModel.NotifyURL = "http://mysite.com/api/spgateway/notify";
payModel.ReturnURL = "http://mysite.com/api/spgateway/return";
payModel.ClientBackURL = "http://mysite.com/shop";
payModel.Amt = 928;
payModel.ItemDesc = "ProductX";
 
// create payform
let payFormHtml = mpgService.getAutoPayForm(payModel);
 
  • 接收通知(notify & return)
// take express request as example
let JSONData = request.body.JSONData;
 
mpgService
  .parseNotification(JSONData)
  .then((notify) => {
      // update your order here
  })
  .catch((err) => {
      // exception or checkCode validation fails
  })

Period Service (定期定額)

  • 付款(建立付款表單)
 
let periodService = spgateway.createPeriodicalService();
let payModel = periodService.createPeriodicalPayModel();
 
// set properties
payModel.PeriodAmt = 829;
 
// create pay form html
let payFormHtml = periodService.getAutoPayForm(payModel);
 
 
  • 接收通知(notify & return)
// take express request as example
let body = request.body; // it would be { "Period": "xxxxx..." }
 
periodService
  .parseNotification(body)
  .then((notify) => {
      // update your order here
  })
  .catch((err) => {
      // exception or checkCode validation fails
  })

交易查詢

let tradeInfoService = spgateway.createTradeInfoService();
 
tradeInfoService.queryOrder("yourOrderNoHere", 200)
  .then((model) => {
    // success
 
  })
  .catch((err) => {
    // if check value validation fails or exception
  })
  

信用卡取消授權

let cardCancelService = spgateway.createCreditCardCancelService();
 
cardCancelService
  .CancelTransaction("yourOrderNoHere", 200)
  .then((model) => {
      // success
      
  })
  .catch((err) => {
     // if status !== success or exception
  })
  

信用卡請/退款

let cardloseService = spgateway.createCreditCardCloseService();
 
// 請款
cardloseService
  .requestPayment("yourOrderNoHere", 200)
  .then((model) => {
    
  })
  .catch((err) => {
    
  })
  
// 退款
cardloseService
  .refund("yourOrderNoHere", 200)
  .then((model) => {
    
  })
  .catch((err) => {
    
  })
  

Debug Logger

 
const spgateway = new SpGateway(
        true, //(true for a dry run)
        your MerchantID,
        your HashKey,
        your HashIV,
        true // if you want to print info to debug, default is false
    );
        

關於

歡迎 fork & pull request

Package Sidebar

Install

npm i spgateway-api

Weekly Downloads

3

Version

1.0.1

License

MIT

Unpacked Size

68.1 kB

Total Files

37

Last publish

Collaborators

  • yozian