Payapl Rest-API / Paypal Plus:在“创建付款”之后,我应该何时执行“补丁付款”-请求?

时间:2019-06-24 22:26:16

标签: php paypal-sandbox paypal-rest-sdk paypal-plus

我尝试集成Paypal Plus。现在一切正常(嗯,几乎所有的东西都:))

  1. 创建付款
  2. 呈现Paypal Plus iframe
  3. 单击外部按钮将用户重定向到Paypal托管页面
  4. 显示评论页面
  5. 执行付款并显示“谢谢页面”

在遵循《 Paypal Plus集成指南》之后,我不应该在“创建付款呼叫”中提供任何个人数据。为此,我应该执行“更新付款呼叫”。

但是我怎么知道用户单击了Paypal-Iframe中的Paypal-Payment-Option?如果我配置了一些第三方付款,则可以定义一个回调。但是,如果用户选择了贝宝付款方式,则没有回调。因此,在用户单击外部continue-Button之后,该用户将直接重定向到贝宝托管的页面,而我没有机会继续进行Update-Call(“补丁” -Request,以添加Billing-Adress到贝宝付款会话,例如)。

有人可以帮我吗?

我阅读了很多次手册,然后搜索了一些yt视频....但是,看来我不明白流程。;-)

如果您使用Paypal-Plus及其iframe Payment-Wall,您的确切流程是什么?

1 个答案:

答案 0 :(得分:0)

我也遇到了这个问题,现在我在初始请求后通过 curl 补丁请求解决了这个问题。 我实际上不知道这是否是第三方支付方法的问题。如果这将以同样的方式工作,我将在未来看看。其实我很满意 paypal plus 与 payer_info 合作。

$ch = curl_init($paypalUrl.'/v1/payments/payment/'.$paymentID);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Authorization: Bearer '.$json->access_token
));

$data =
'[{
    "op": "add",
    "path": "/payer/payer_info",
    "value": {
        "first_name": "Max",
        "last_name": "Mustermann",
        "email": "max@mustermann.com",
        "billing_address": {
            "line1": "Lieferstr. 1",
            "city": "Berlin",
            "country_code": "DE",
            "postal_code": "12345"
        }
    }
}]';

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

$result = curl_exec($ch);
$jsonResult = json_decode($result);

curl_close($ch);

另一个想法是在站点之间使用自己的站点,例如第 23 页上的 here,并在 nextpage.php 上使用 window.location 来表示继续按钮。 并在此处调用补丁请求。希望它可以帮助某人!

干杯