为什么setLandingPageType(“billing”)可以在沙箱中工作,而不能在PAYPAL PHP REST API SDK WebProfile的实时版本中工作

为什么setLandingPageType(“billing”)可以在沙箱中工作,而不能在PAYPAL PHP REST API SDK WebProfile的实时版本中工作,php,api,rest,paypal,sdk,Php,Api,Rest,Paypal,Sdk,我一直在使用贝宝支付进行以下工作流程。 我的目的是将客户发送到客户付款网站。他首先不应该看到paypals的登录页面。 这是因为许多人不知道他们可以用信用卡或银行转账支付,而不需要注册账户。 我在沙箱中测试了我的整个过程,它成功了。然后我改为实时版本,flowConfig->setLandingPageType(“账单”)它不再影响登录页 工作流程: 我准备了一些新的Webprofile(),在paypals的付款审批网站上进行设置(logo等,shopname)。它只保存一次,并由某个字符串

我一直在使用贝宝支付进行以下工作流程。 我的目的是将客户发送到客户付款网站。他首先不应该看到paypals的登录页面。 这是因为许多人不知道他们可以用信用卡或银行转账支付,而不需要注册账户。 我在沙箱中测试了我的整个过程,它成功了。然后我改为实时版本,
flowConfig->setLandingPageType(“账单”)它不再影响登录页

工作流程:

  • 我准备了一些
    新的Webprofile()
    ,在paypals的付款审批网站上进行设置(logo等,shopname)。它只保存一次,并由某个字符串(XX-XXXX-XXXX-XXXX-XXX)标识
  • 我准备一笔交易并将其发送给贝宝
  • 然后将客户发送到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命令返回一些字符串(XX-XXXX-XXXX-XXXX-XXXX-XXX),这些字符串保存在paypal中,用于识别我放入系统的这组选项

...
$payment->setExperienceProfileId('XX-XXXX-XXXX-XXXX-XXX'); //profile ID 
...
有人知道我会做错什么吗?如前所述,这完全在沙箱中工作,但是当我切换到LIVE时,客户总是被发送到正常的登录页面

还有其他方法吗?
我是否错过了一些提示或被拒绝的标志?

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

起初,我可以作为客人购买
。然后这个选项消失了——可能是因为我的沙盒饼干过期了。
所以我今天打电话给Paypal的支持人员,问了一些具体的问题

我对这个guest buy功能还有其他期望,因为我已经习惯了无限制的美国沙箱帐户。我的个人混乱可能是由于您从无限制沙箱更改为受限制的live帐户时,内部可能存在选项/限制/限制的混乱。
问题是,我不应该
在德国看到这个
客人账单页面——但它起了作用。。。上线后一次。

我一直在做这方面的工作,导致这种行为的原因似乎是我在德国的贝宝账户受到限制

起初,我可以作为客人购买
。然后这个选项消失了——可能是因为我的沙盒饼干过期了。
所以我今天打电话给Paypal的支持人员,问了一些具体的问题

我对这个guest buy功能还有其他期望,因为我已经习惯了无限制的美国沙箱帐户。我的个人混乱可能是由于您从无限制沙箱更改为受限制的live帐户时,内部可能存在选项/限制/限制的混乱。 问题是,我不应该
在德国看到这个客人账单页面——但它起了作用。。。在上线之后