使用Node.js调用Yahoo钱包Fastpay API
简述
使用令牌进行充值,但没有为Node.js提供API库。
只有FastPay API库适用于PHP、Ruby和Python(截至2016年2月)。
因此,我参考了cURL的参数,在nodejs中创建了从API调用的实现。
准备
表达
- 今回はexpressjsを使います。express-generatorでテンプレを作成します。
npm install express-generator -g
请求
- APIへPOSTするのに、requestモジュールを使います。
npm install request
实施
FastPay.js的操作:是关于目标状态的实现(部分)。假设调用了router.post。
router.post('fastpay_complete', function (req, res, next) {
var fastpayToken = req.body.fastpayToken; // req.bodyで渡されてきます
var amount = req.body.amount; // req.body.amount;
var yUser = 'yahooFastpay.secret'; // fastpay secret keyです。
var fastpayApiUrl = 'https://fastpay.yahooapis.jp/v1/charges';
var fastpayApiProxy = ''; // プロキシがある場合は設定します
request({
method: 'POST',
proxy: fastpayApiProxy,
url: fastpayApiUrl,
auth: {
user: yUser,
pass: ''
},
form: {
amount: amount,
card: fastpayToken,
capture: false
},
json: true
}, function (error, response) {
if ( error ) {
console.log(error);
}
else {
if( resonse.body.error ){ // fastpay APIからのエラーの場合
//HTTPステータスコード、Types、Codeなどを見て処理
}
else{
// 正常系処理
}
}
});
});
总结
-
- 上記のような実装で、NodeJs(Express)で使えるようになりました。
- 間違いなどありましたらご指摘ください。