1
:https://developer.paypal.com/demo/checkout/#/pattern/clientPaypalクライアント側REST:サーバーに通知する方法は?ペイパルクライアント側の残りの部分と
方法など、PayPalのユーザーが支払ったサーバーに通知しないので、私はいくつかの後処理を行うことができ、データベースへの書き込み..私が添付できるウェブフックはありますか?
:https://developer.paypal.com/demo/checkout/#/pattern/clientPaypalクライアント側REST:サーバーに通知する方法は?ペイパルクライアント側の残りの部分と
方法など、PayPalのユーザーが支払ったサーバーに通知しないので、私はいくつかの後処理を行うことができ、データベースへの書き込み..私が添付できるウェブフックはありますか?
彼らは、サーバー側およびその逆の統合へのハイブリッド、クライアント側をサポート判明:あなたは、クライアント側での支払いを作成することができるものとhttps://github.com/paypal/paypal-checkout/blob/master/docs/hybrid.md
、および(ペイパル-REST-サーバー側のSDKを使用してsdk)を実行するには、サーバー側で実行します。
クライアント:
paypal.Button.render({
env: 'sandbox', // Or 'production',
commit: true, // Show a 'Pay Now' button
client: {
sandbox: CLIENT_ID,
production: CLIENT_ID
},
payment: function(data, actions) {
return actions.payment.create({
...
});
},
onAuthorize: function(data, actions) {
$.ajax({
type: 'POST',
url: 'http://potato-03.ea.com/paypal/payment/execute',
dataType: 'json',
contentType: "application/json",
data: JSON.stringify({
payment_id: data.paymentID,
payer_id: data.payerID
})
}).done(function(data) {
console.log('Payment received!');
});
},
onCancel: function(data) {
console.log('The payment was cancelled!');
}
}, '#paypal-button');
サーバー:
const paypal = require('paypal-rest-sdk');
let paymentId = req.params.payment_id;
let payerId = { payer_id: req.params.payer_id };
paypal.payment.execute(paymentId, payerId, function(err, payment){
if(err){
console.error(JSON.stringify(err));
return error.errorHandler(err, null, null, reject, null);
} else {
if (payment.state == 'approved'){
console.log('payment completed successfully');
} else {
console.log('payment not successful');
}
}
});
あなたが使用することができます** io.emit ** ** ** socket.onイベントを処理するために作成したソケットのために、あなたのコントローラで発光ごコール。 – user100693
@ user100693何?? –
ソケットイベントを使用できます。 https://www.html5rocks.com/jp/tutorials/frameworks/angular-websockets/ – user100693