PayPal Express Checkout:登陆页面=结算

时间:2015-01-07 15:33:32

标签: c# paypal express-checkout

我试图让PayPal Express Checkout始终只使用" Billing"登陆页面,可以直接输入卡号。

我已经尝试了我可以在Google上找到的所有内容,最终得到了一些非常奇怪的结果。当我重定向到PayPal时,我会收到" Billing"页面50%的时间,以及#34;以访客身份登录PayPal / Check Out"另外50%页面(只需按下后退按钮,然后点击"结帐"再次给出不同的结果)。我真的需要一直到达结算页面。

        SetExpressCheckoutRequestType pp_Request = new SetExpressCheckoutRequestType();
        pp_Request.Version = "117.0";

        pp_Request.SetExpressCheckoutRequestDetails = new SetExpressCheckoutRequestDetailsType();
        pp_Request.SetExpressCheckoutRequestDetails.SolutionType = SolutionTypeType.SOLE;
        pp_Request.SetExpressCheckoutRequestDetails.PaymentAction = PaymentActionCodeType.SALE;
        pp_Request.SetExpressCheckoutRequestDetails.LandingPage = LandingPageType.BILLING;
        pp_Request.SetExpressCheckoutRequestDetails.FundingSourceDetails = new FundingSourceDetailsType();
        pp_Request.SetExpressCheckoutRequestDetails.FundingSourceDetails.UserSelectedFundingSource = UserSelectedFundingSourceType.CREDITCARD;            
        pp_Request.SetExpressCheckoutRequestDetails.ReturnURL = serverName + returnUrl;
        pp_Request.SetExpressCheckoutRequestDetails.CancelURL = serverName + cancelUrl;
        pp_Request.SetExpressCheckoutRequestDetails.OrderTotal = new BasicAmountType();
        pp_Request.SetExpressCheckoutRequestDetails.OrderTotal.currencyID = CurrencyCodeType.GBP;
        pp_Request.SetExpressCheckoutRequestDetails.OrderTotal.value = String.Format("{0:F2}", amount);
        pp_Request.SetExpressCheckoutRequestDetails.NoShipping = "1";            

正如您所看到的,我设置了版本和解决方案类型以及付款操作和目标网页以及资金来源,但它仍然无法可靠地运行。

它的随机性感觉就像他们正在做一些A / B测试。有时,在错误的页面上,按钮会显示" Check out as Guest&#34 ;,有时它会说"尝试PayPal作为访客"。虽然我不介意对文本进行A / B测试,但是当我问起它时,我还没有完全改变目标网页。

还有什么呢?

2 个答案:

答案 0 :(得分:2)

首先:是的,PayPal不断测试以改善他们的流量,因此他们将进行A | B测试。特别是两个按钮文本听起来像是经典的A | B测试,并且大概是任何具有最高转换率的测试(这意味着商家的最大销售额)将被用作未来的100%解决方案。 PayPal还检查cookie以尝试向每个买家提供最佳,最可能转换的页面(例如,如果有活跃的PayPal cookie使PayPal登录突出;没有PayPal cookie使直接卡片输入更加突出)。再次这样做是为了提高总转换率。你可以努力打败/覆盖这些选择,但我不推荐它;通过强加您对客户的期望,您可能会失去销售。

除此之外,您所看到的一些内容可能不是A | B测试或PayPal的转换优化,而是产品和使用之间的不匹配。 ExpressCheckout本质上是PayPal品牌/ PayPal以账户持有人为中心的支付产品。它的构建完全没有访客结账,旨在与直接信用卡结算(PayPal的DirectCreditCard API或其他支付网关/处理器)一起使用。后来,“快速结账”中添加了“客人结账”,因此它可以作为唯一的解决方案使用,但要求快速结账是一个网关,就像要求F150成为跑车(或称为F150的跑车)。不同的产品。是的,您有时可以将行李箱放在乘客座位上,但如果您的主要目的是携带货物,您可能会采取错误的方式:)。

如果您的预期使用情况是托管的,但直接以卡片为中心,PayPal帐户持有人被视为“添加”,请考虑使用PayPal的托管唯一解决方案。这是PayPal的产品,旨在集中呈现信用卡付款,但对PayPal账户持有人付款而不是相反。或者考虑通过Braintree(现在是PayPal)进行整合,他拥有一个结合了Braintree信用卡付款和PayPal账户持有人付款的优秀SDK。

我也会抛弃你可能会发现PayPal品牌对你的企业来说并不是那么糟糕。对于大多数中小型商家而言,它可以提高信任度,并可以带来显着的销售增长。

答案 1 :(得分:1)

得到了PayPal支持的回复:这是一个错误。他们似乎并不急于解决问题。

更新 - 贝宝刚刚通知我这是固定的。

我问道:

"我有一位客户正在使用快速结账并希望着陆页成为"输入卡详细信息"页。

它们是B2B操作,并且在进行购买的秘书的计算机上存在PayPal cookie并不表示PayPal结账是合适的。他们几乎总是想要使用与任何PayPal帐户无关的公司信用卡。

我设置了我可以在您的文档或Google上找到的请求中的所有相关属性,但它们被忽略了。

是否仍然可以强制快速结帐以始终使用目标网页结算? "

他们回答说:

" LandingPage变量在新的结帐流程中被忽略了 - 这已经引起了开发人员的注意,以便修复它。

不幸的是,目前我们还没有针对该修复的ETA。

修复完成后,您将收到通知。"