当前位置: 首页 > 知识库问答 >
问题:

PayPal快速付款验证

景志
2023-03-14

我正在开发一个WordPress插件,在那里我可以接受PayPal Express的付款。我能够成功获得PaymentID和PayerID。但我不知道如何验证付款。另外,我可以从payerID或PaymentID获取付款人详细信息吗?

下面是我用来创建支付按钮的脚本。

<script>
          paypal.Button.render({

              env: 'sandbox',

              // PayPal Client IDs - replace with your own
              // Create a PayPal app: https://developer.paypal.com/developer/applications/create
              client: {
                  sandbox:    'AfI6d9wTxV519v5OI08omQE7HX9XI6-h3AopzKAiP5Yk2nO6brKaTJH8DyeAwpRpLI0CjGtQVSS737eS',
                  production: 'AfI6d9wTxV519v5OI08omQE7HX9XI6-h3AopzKAiP5Yk2nO6brKaTJH8DyeAwpRpLI0CjGtQVSS737eS'
              },

              // Show the buyer a 'Pay Now' button in the checkout flow
              commit: true,

              // payment() is called when the button is clicked
              payment: function(data, actions) {

                  // Make a call to the REST api to create the payment
                  return actions.payment.create({
                      payment: {
                          transactions: [
                              {
                                  amount: { total: <?php echo $_SESSION['trip-cost'];?>, currency: 'USD' },
                                  custom: '1452'
                              }
                          ]
                      }
                  });
              },
              validate: function(actions) {
                // var fields = jQuery(".wp-travel-engine-billing-details-wrapper").find("select, input").serializeArray();
                // console.log(fields);
                // jQuery.each(fields, function(i, field) {
                // if (!field.value)
                //   alert(field.name + ' is required');
                // }); 
              },
              // onAuthorize() is called when the buyer approves the payment
              onAuthorize: function(data, actions) {
                  // Make a call to the REST api to execute the payment
                  return actions.payment.execute().then(function() {
                      window.location = '<?php echo $wp_travel_engine_confirmation_page; ?>?paymentid='+data.paymentID+"&payerID="+data.payerID+"&token="+data.paymentToken+"&pid=1";
                  });
              }
          }, '#paypal-button-container');
        </script>

非常感谢。

共有1个答案

程枫
2023-03-14

通过使用ipnlistener,我可以做到这一点。

 类似资料:
  • 在用户批准后执行()授权支付时失败。 范围:"openid配置文件电子邮件地址电话https://uri.paypal.com/services/expresscheckout" consent _ uri:" https://www . sandbox . paypal . com/web apps/auth/protocol/OpenID connect/v1/authorize?客户端标识=

  • 我正在使用PayPal express checkout(checkout.js V4.0.0)和asp。net mvc允许用户为数据交易付费。单击“快速结账”按钮时,我需要做的是对数据库执行一些检查,并确认PayPal可以继续(这也与时间有关,因为数据库可能处于锁定处理状态)。 我已经设置了高级服务器集成,然后从paypal的支付部分调用创建支付控制器。按钮render,但这需要返回一个带有元素

  • 我有问题让贝宝接受从我的应用程序的实时支付。我正在使用一个Azure服务器,用C#编写代码,带有一个基于Xamarin的Android客户端应用程序。我可以得到所有工作与贝宝沙箱,但它失败时,我切换到实时凭据。下面是我的付款流程: 1)在我的Android应用程序中,启动PayPal应用程序授权支付。这返回一个授权代码。该代码类似于C21AAHHVXYJKTRK82SOMDGL6SSQD85LLM

  • 我的paypal按钮有一个小问题默认情况下,我会尝试隐藏它以显示我自己的按钮:/ 这是我的密码。js }); 问题是,我总是有黄色的贝宝按钮,出现在我的按钮底部,我不能得到面具。

  • 我用贝宝支付预付我的Magento购物车。我发现一个来自加拿大的客户的信用卡不断下降。我直接和客户谈了一下,做了以下测试: > 转到我的Paypal管理器中的虚拟终端,只测试授权,它也不工作。虚拟终端的单个事务测试给出错误:结果代码:12响应消息:Decreded:15005-无法处理此事务。 我在我的贝宝账户里发了一张2美元的发票,但这也不起作用。 客户然后使用信用卡从其他地方和它的工作很好。然