omn​​ipay paypal express 不返回地址 [英] omnipay paypal express not returning address

查看:19
本文介绍了omn​​ipay paypal express 不返回地址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在这里使用 omnipay 设置:https://github.com/adrianmacneil/omnipay处理贝宝快速结账.

I am using the omnipay setup here: https://github.com/adrianmacneil/omnipay to process a paypal express checkout.

该过程运行良好,因为用户被重定向到 paypal -> 他们登录并选择付款 -> 他们返回到我的网站,此时我会收到付款.

The process works fine in that the user is redirected to paypal -> they login and choose to pay -> they get returned to my site at which point I capture the payment.

我遇到的问题是我需要获取他们在 paypal 中输入的地址作为他们的帐单/送货地址.

The problem I've got is that I need to capture the address they have entered into paypal as their billing / shipping address.

要将用户发送到 paypal,我有以下内容:

To send the user across to paypal I have the following:

$gateway = GatewayFactory::create('PayPal_Express');
$gateway->setUsername('XX-USERNAME_XX');
$gateway->setPassword('XX_PASSWORDXX');
$gateway->setSignature('XX_SIG_XX');
$gateway->setTestMode(true);

$response = $gateway->purchase(
    array(
        'cancelUrl'=>'http://www.XXX.co.uk/',
        'returnUrl'=>'http://www.XXX.co.uk/paypalexpress_confirm',
        'amount' =>  $totalamount,
        'currency' => 'GBP'
    )
)->send();

$response->redirect(); 

当用户返回时,我有以下内容:

When the user is returned I have the following:

$gateway = GatewayFactory::create('PayPal_Express');
$gateway->setUsername('XX-USERNAME_XX');
$gateway->setPassword('XX_PASSWORDXX');
$gateway->setSignature('XX_SIG_XX');
$gateway->setTestMode(true);

$response = $gateway->completePurchase(
    array(
        'cancelUrl'=>'http://www.XXX.co.uk/',
        'returnUrl'=>'http://www.XXX.co.uk/paypalexpress_confirm',
        'amount' =>  $totalamount,
        'currency' => 'GBP'
    )
    )->send();

    echo $responsemsg=$response->getMessage(); 

    echo '<br><br><br>';
    $data = $response->getData(); 
    print_r($data);

响应消息或原始数据中没有任何内容包含客户地址.

Nothing in the response message or the raw data contains the customer address.

有没有人在我挣扎时完成这项工作,这是完成交易的最后一步.

Has anyone got this working as i'm struggling and it's the final step to complete the transaction.

推荐答案

对于那些试图获得这项工作的人来说,正如 Adrian 所说.

For those who are trying to get this work it's as Adrian said.

您首先进行正常的 omnipay paypal 付款,然后再进行:

You first do the normal omnipay paypal payment and then afterwards:

  1. 获取您获得的令牌
  2. 使用 call getexpresscheckoutdetails 方法执行对 paypal 的第二次调用
  3. 这将返回您需要的所有信息

此处的 API 信息:https:///cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_GetExpressCheckoutDetails

API info here: https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_GetExpressCheckoutDetails

paypal 提供的 php 脚本可以为您完成这一切:

The php script paypal provide to do it all for you:

https://cms.paypal.com/cms_content/ES/es_ES/files/developer/nvp_ECGetExpressCheckout_php.txt

这篇关于omn​​ipay paypal express 不返回地址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆