网站支付专业托管页面解决方案

Website Payment Pro Hosted Page Solution

我需要为我的英国客户实施 Website Payment Pro 托管页面解决方案。

在与 PayPal 团队讨论并查看 the tech guide 之后,我做了以下事情:

  1. 调用BMCreateButtonAPI(终点url-https://api-3t.sandbox.paypal.com/nvp)获取EMAILLINK
  2. 将用户重定向到 PP 托管页面的 EMAILINK(securepayments.sandbox.paypal.com/webapps/HostedSoleSolutionApp/webflow/sparta/hostedSoleSolutionProcess?hosted_button_id=HSSS-jsCeH.xi9R3Q.......)
  3. 用户在托管页面完成支付
  4. 付款完成后,用户被重定向回我的确认页面。

在响应中我只看到 'tx' (TransactionId) 和 CSCMATCH(=M)。

没有 PNREF 或其他状态参数告诉我付款是 'AUTHORIZED'、'DECLINE'、'CANCELLED' 还是任何错误消息'。

我正在将此解决方案与付费流网关托管页面解决方案(在英国不可用)进行比较,其中我收到了足够多的响应参数,以便在收到响应后做出正确的决定。

请指教

PayPal 的 Website Payments Pro 为您提供了获取此信息的方法,但它们看起来与 Payflow 产品有很大不同。

(Payflow 产品由另一家公司开发,后来被 PayPal 收购,这就是为什么这两种产品看起来完全不同的原因。)

获取此信息的"PayPal way"是使用IPNs来安全地验证支付信息。一些PayPal产品也支持PDT(https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/paymentdatatransfer/),这和IPN基本一样,只是你post到PayPal得到验证而不是等待PayPalpost给你。

另请参阅此集成指南,特别是第 7 章 "order processing",其中解释了如何执行此操作:

https://www.paypalobjects.com/webstatic/en_GB/developer/docs/pdf/hostedsolution_uk.pdf

与 PayPal 的单独往返是为了防止某人构建虚假交易 ID(和状态信息)并post发送给您的 return URL 以试图说服你他们在实际上没有付款的时候付款了。