应用Paypal Web配置文件已禁用" Checkout as a Guest"

时间:2015-03-11 16:08:29

标签: php paypal paypal-rest-sdk

我正在尝试创建一个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中找到任何相关内容,这似乎至少很奇怪!

谢谢

1 个答案:

答案 0 :(得分:0)

您使用的是Express Checkout吗?看起来没有PayPal帐户的定期付款只与网站付款专业帐户兼容。

您仍然可以使用EC创建定期付款,但他们需要PayPal帐户才能接受这些付款,而且不允许客户结帐。

https://www.paypal-community.com/t5/Merchant-services-Archive/How-to-accept-recurring-payments-from-buyers-who-don-t-have-a/td-p/178232