我正在尝试创建一个贝宝付款页面,但由于某种原因,当我尝试将自定义网络配置文件添加到付款时,以客人身份结账的选项突然消失了。
首先,我以这种方式创建网络配置文件:
$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);
奇怪的是,如果我评论最后一行,我可以毫无问题地以客人身份进行付款。相反,如果我以这种方式保留它,我会得到自定义页面,但“以访客身份签出”按钮被“创建帐户”取代。
我真的必须在拥有自定义结帐页面和无需创建贝宝帐户即可执行付款之间做出选择吗?还是我错过了什么?我在文档中也没有在 stackoverflow 中找到与此问题相关的任何内容,至少看起来很奇怪!
谢谢