2017-03-20 50 views
0

有关如何将PayPal快速结账集成到现有结账流程的指南。集成快速结账指南

我已阅读文档,创建测试帐户等。但我想我错过了一些东西。

官方文档非常糟糕,我浪费了大量时间试图弄清楚如何让这个东西起作用。

恐怕我必须实现高级版本,我必须回拨到服务器。

我已经实现了页面如下:

<div id="paypal-button"></div> 

<script src="https://www.paypalobjects.com/api/checkout.js"></script> 

<script> 
    paypal.Button.render({ 

     env: 'sandbox', // Optional: specify 'sandbox' environment 

     client: { 
      sandbox: 'Aa_Hj-VVA-wBzLnaZe5URjMmkR9_dJZLLtIhd5avXTmeJxclN2f90KBBHaFZnV0FcCnZ34lXT03neB09', 
      production: 'xxxxxxxxx' 
     }, 

     payment: function() { 

      var env = this.props.env; 
      var client = this.props.client; 

      return paypal.rest.payment.create(env, client, { 
       transactions: [ 
        { 
         amount: { total: '1.00', currency: 'USD' } 
        } 
       ] 
      }); 
     }, 

     commit: true, // Optional: show a 'Pay Now' button in the checkout flow 

     onAuthorize: function(data, actions) { 

      // Optional: display a confirmation page here 

      return actions.payment.execute().then(function() { 
       // Show a success page to the buyer 
      }); 
     } 

    }, '#paypal-button'); 
</script> 

这基本上是直接从资料为准。

它显示一个按钮,当我按它它显示贝宝输入弹出。它显示正确的金额等等。

如何将此脚本与我的后端连接?当Paypal结帐流程完成后,它似乎不会在任何地方注册。我在后台看不到该事务,并且没有状态码显示给用户。

它只是消失。

我已经看了演示paypal供应,但它似乎有所不同。我不明白他们为什么不在文档中显示非常裸露的骨骼实现。

在它们使用商家ID这样的演示:

定义( “MERCHANT_ID”, “E9GCL5FX4TU2C”);

当我在仪表板中查找时,找不到类似于此的任何值。我已经创建了一个应用程序,它具有这样的客户端ID:

Aa_Hj-VA-wBzLnaZe5URjMmkR9_dJZLLtIhd5avXTmeJxclN2f ......

但我无法找到商家ID。

欢迎任何输入。 金

+0

哪些具体的步骤,你有困难?你有多远? – bluepnume

+0

我在developer.paypal.com上创建了一个帐户,并创建了一些测试帐户。一个企业帐户和三个客户。但我找不到我的商户ID。我不确定我是否完成了正确的帐户创建。 –

+0

您是否按照此页面并点击“创建PayPal应用程序”以获取商户ID? https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/basic-integration/ – bluepnume

回答

0

你需要打电话给你的服务器在onAuthorize回调:

onAuthorize: function(data, actions) { 

     return actions.payment.execute().then(function() { 
      // Make an ajax request to your server, or do a redirect 
     }); 
    }