我正在尝试创建一个PayPal支付页面,但出于某种原因,当我尝试将自定义网络配置文件添加到付款时,以访客身份结帐的选项会突然消失。
首先,我以这种方式创建网络个人资料:
$flowConfig = new FlowConfig();
$flowConfig
->setLandingPageType("billing")
->setBankTxnPendingUrl("...");
$presentation = new Presentation();
$presentation
->setLogoImage("...")
->setBrandName("...")
->setLocaleCode("...");
$inputFields = new InputFields();
$inputFields
->setNoShipping(1)
->setAddressOverride(0);
$webProfile = new WebProfile();
$webProfile->setName("PROFILE" . uniqid())
->setFlowConfig($flowConfig)
->setPresentation($presentation)
->setInputFields($inputFields);
$request = clone $webProfile;
try {
$createProfileResponse = $webProfile->create($apiContext);
} catch (PayPal\Exception\PayPalConnectionException $ex) {
...
}
$profileId = $createProfileResponse->getId();
然后,我以这种方式更新了付款代码
$paypalPayment = new PayPalPayment();
$paypalPayment->setIntent("sale");
$paypalPayment->setPayer($payer);
$paypalPayment->setRedirectUrls($redirectUrls);
$paypalPayment->setTransactions(array($transaction));
$paypalPayment->setExperienceProfileId($profileId);
奇怪的是,如果我评论最后一行,我可以作为访客进行付款,没有任何问题。相反,如果我这样离开,我会得到自定义页面,但是"作为访客退房"按钮替换为"创建帐户"。
我是否真的必须在自定义结帐页面和可以在不创建PayPal帐户的情况下执行付款之间进行选择?或者我错过了什么?我没有在文档中找到与此问题相关的任何内容,也没有在stackoverflow中找到任何相关内容,这似乎至少很奇怪!
谢谢
答案 0 :(得分:0)
您使用的是Express Checkout吗?看起来没有PayPal帐户的定期付款只与网站付款专业帐户兼容。
您仍然可以使用EC创建定期付款,但他们需要PayPal帐户才能接受这些付款,而且不允许客户结帐。