我正在为我的网站使用PayPal事务,该事务是在 angular2 中构建的。这是我PayPal形式的代码。组件功能。
paypalPayment(cartArr) {
var form = document.createElement("form");
form.method = "POST";
form.action = "https://www.sandbox.paypal.com/cgi-bin/webscr";
this.createElement(form, 'charset', 'utf-8');
this.createElement(form, 'cmd', '_xclick');
//this.createElement(form, 'cmd', '_cart');
this.createElement(form, 'upload', '1');
this.createElement(form, 'currency_code', 'USD');
this.createElement(form, 'business', "my_business@mail.com");
this.createElement(form, 'email',"user_email@test.com");
this.createElement(form, 'custom', '{ "order_id": ' + this.order_id + ' }');
this.createElement(form, 'item_name', "Item");
this.createElement(form, 'amount', "10");
this.createElement(form, 'quantity', 1);
this.createElement(form, 'return', 'sitename.com/purchase/close_verified_order/' + this.order_id);
this.createElement(form, 'cancel_return', 'sitename.com/purchase/cancel/' + this.order_id);
this.createElement(form, 'notify_url', 'sitename.com/purchase/close_invalid_order/' + this.order_id);
document.body.appendChild(form);
form.submit();
}
在上面的形式中,当我使用_xclick
时,它会返回基本详细信息,例如URL
中的transaction id
,但我需要所有交易详细信息。以下是返回页面的代码。
ngOnInit() {
let transactionId = this.route.snapshot.queryParams['tx'];
this.order_id = this.route.snapshot.params['id'];
}
PayPal如何提供所有交易明细?我已经阅读了有关IPN的信息,但我不知道如何在angular2
中使用它。
想知道我应该在notify_url
或return
中更改哪些内容才能获得所有交易详细信息。
如果PayPal POST
数据中发送交易详细信息,那么我如何在angular2
代码中处理它?
如果我需要使用IPN,那么我如何从paypal
获取auth_token
,然后如何从angular2
调用它的api
?
不要使用 Angular,但一般来说,您需要设置一个"侦听器"来响应 IPN 结果。该"侦听器"应包含使用 $_POST 数据(返回给"侦听器"(对信息执行所需操作的代码。
IPN 文档从这里开始 https://developer.paypal.com/docs/classic/products/instant-payment-notification/.设置沙盒帐户,并将其用于测试。
还有一个 IPN"测试器",可用于针对各种类型的 IPN 响应测试代码。