为什么setLandingPageType(" billing")在Sandbox中工作,但在PAYPAL PHP REST API SDK WebProfile

时间:2015-09-20 21:05:39

标签: php api rest paypal sdk

我一直在使用Paypal Payments处理以下工作流程。 我的意图是将客户发送到访客付款网站。他一开始不应该看到paypals登录页面。 这是因为许多人不知道他们可以在没有注册帐户的情况下使用Creditcard或Bank-Transfer付款。 我在沙盒中测试了我的整个过程并且它有效。然后我更改为实时版本$flowConfig->setLandingPageType("billing");它不再影响着陆页。

工作流:

  • 我准备了一些new Webprofile(),这是在paypals payment-approval-site(logo等,shopname)上设置的东西。它被保存一次并由一些字符串(XX-XXXX-XXXX-XXXX-XXX)
  • 标识
  • 我准备了一笔交易并将其发送给PayPal。
  • 然后客户被发送到paypal.com上的特定付款审批网站
  • 客户应该在那里进行身份验证
  • 客户被送回我的网站

要预设视觉选项,我预先定义了一些Webprofile。

$flowConfig = new \PayPal\Api\FlowConfig();
$flowConfig->setLandingPageType("billing");

$presentation= new \PayPal\Api\Presentation();
...
$inputFields= new \PayPal\Api\InputFields();
...

$webProfile = new \PayPal\Api\WebProfile();
$webProfile->setName("GuestPaymentProfileNameasdf")
->setFlowConfig($flowConfig)
->setPresentation($presentation)
->setInputFields($inputFields);


$webProfile->create($APIauth)

这个create-command会返回一些保存在paypal中的字符串(XX-XXXX-XXXX-XXXX-XXX),以识别我放入系统的这组选项。

...
$payment->setExperienceProfileId('XX-XXXX-XXXX-XXXX-XXX'); //profile ID 
...

有谁知道我在这里做错了什么?如上所述,这完全在Sandbox中工作,但是当我切换到LIVE时,客户总是被发送到正常的登录页面。

还有其他方法吗? 我错过了一些暗示或贬低的标志吗?

1 个答案:

答案 0 :(得分:0)

我一直在研究这个问题,这种行为的原因似乎是我在德国境内的Paypal帐户的限制。

起初我可以买as a guest。然后这个选项消失了 - 可能是我的沙盒注入的cookie过期了。 所以我今天打电话给Paypal支持并询问了一些具体问题。

我对这个客户购买功能有其他期望,因为我习惯了无限制的US-Sandbox-Account。当您从无限沙盒更改为受限制的真实帐户时,我的个人混淆可能是由于选项/限制/限制的内部混乱造成的。 事情是,我should not已经在德国看到了这个guest-billing-page - 但它在上线之后就有效了......