Paypal Plus - 如何获取用户选择的付款方式(已解密)

7
在我的表单中,我实现了PayPal Plus付款墙,文档在这里:https://www.paypalobjects.com/webstatic/de_DE/downloads/PayPal-PLUS-IntegrationGuide.pdf。到目前为止一切都很顺利,但是在用户选择付款后,我想在下一页上显示订单摘要,并需要用户选择的付款方式,该付款方式已加密存储在paypalplus_session_v2 cookie中。我还可以调用getPaymentMethod()函数,它将返回与此相同的加密字符串,如下所示:
paymentMethod "pp-82c59049fcdc48ec960990a83b100cb7"

那么,如何获得明文的支付方式?

这里有一些JavaScript代码来进行更好的解释:

var ppp = PAYPAL.apps.PPP({
    "approvalUrl": appUrl,
    "placeholder": "ppplus",
    "mode": "sandbox",
    "country": "DE",
    "language": "de_DE",
    "showPuiOnSandbox": "true",
     buttonLocation: "outside",
     enableContinue: "continueButton",
    "showLoadingIndicator": true,
     onContinue: function () {
         window.location = "nextpage.php";
     },
});

console.log(ppp.getPaymentMethod()); 

...将返回付款方式 "pp-82c59049fcdc48ec960990a83b100cb7"。

2个回答

4

编辑过的内容

PPPLUS Js 将选项设置为 Cookie 数据,如下所示,并且您将无法在不知道密钥的情况下解密此 paymentmethod 值。

INTERNAL-LOG: saveInCookie data from cookie:    
{
  "mode": "sandbox",
  "useraction": "continue",
  "language": "en_US",
  "country": "DE",
  "ecToken": "EC-0KL610776H817283B",
  "thirdPartyMethods": {},
  "paymentMethod": "pp-ca7aac1ecc8fb208ad8b0e3020fc290a"
}

似乎目前paymentMethod的值不适用于公开使用,但是如果您可以加载iframe DOM对象,则可以获取 data-pm 属性并在本例中为本机 paymentMethod 名称(PayPal,Bank,Credit_Card)创建映射。

检查iframe中是否存在以下标记:

<div class="paymentMethodRow row "id="pp&#x2D;f029166c6c171d6ea4b98d60814e7206" data-pm="PayPal">

<div class="paymentMethodRow row selected"id="pp&#x2D;ca7aac1ecc8fb208ad8b0e3020fc290a" data-pm="Bank">

<div class="paymentMethodRow row "id="pp&#x2D;d5fc25f73191ac7ea7399fc5d43b802d" data-pm="Credit_Card">

有什么提示可以获取iframe的内容吗?它来自另一个域,因此受到保护。 - Werner
@Werner,实际上没有办法做到这一点。经过与PayPal支持团队的电话沟通后,他确认了不希望读取iframe的数据。您应该告知客户付款是通过PayPal进行的,即使客户使用信用卡或类似方式支付。 - monkey-0001

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接