【问题标题】:Page Protection页面保护
【发布时间】:2011-09-07 00:58:30
【问题描述】:

我在使用 PayPal 快速结账时遇到了困难...基本上我希望保护 PAGE,而不是下载或任何东西。用户付费,他们可以访问该页面一次。并且每次他们想要访问该页面时都必须付费。

有没有人有一个简单的 PHP 解决方案来保护我的页面,直到该人通过 PayPal 付款?或者甚至是用于 Express Checkout 的数字商品的 PayPal 代码的预先编写示例?

提前致谢。

【问题讨论】:

    标签: paypal protection payment-processing


    【解决方案1】:

    PayPal 与此没有太大关系——这完全取决于您放置在“退货页面”(买家完成付款后返回的页面)上的逻辑。

    对于简单的 Express Checkout 集成,您可以:
    1. 调用 SetExpressCheckout API
    2. 提供 AMT、RETURNURL 和 CANCELURL
    3. 检索 SetExpressCheckout 响应中返回的令牌。
    4. 将买家重定向至https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-xxxtoken-herexxx&useraction=commit
    5. 当买家同意付款并返回到您的 RETURNURL 时,调用 GetExpressCheckoutDetails API 并提供令牌以检索 PayerID(或者;令牌也附加到您的 RETURNURL 的 GET 数组中)
    6. 致电 DoExpressCheckoutPayment 完成付款。
    7. 现在付款已完成,请执行您必须执行的任何逻辑以确保交易完成并为买家提供您希望他/她看到的内容的访问权限(可以是 RETURNURL 页面本身,也可以是完全不同的页面) .

    示例 (NVP) API 调用类似于以下内容:

    1. SetExpressCheckout 请求 METHOD=SetExpressCheckout&USER=yourAPIuser&PWD=yourAPIpwd&SIGNATURE=yourAPIsig&VERSION=78.0&AMT=0.01&RETURNURL=http://www.your-return-url.com/&CANCELURL=http://www.cancelurl.com/

    2. SetExpressCheckout 响应 ......
      确认=成功
      代币=EC-12345678 .......

    3. GetExpressCheckoutDetails 请求
      METHOD=SetExpressCheckout&USER=yourAPIuser&PWD=yourAPIpwd&SIGNATURE=yourAPIsig&VERSION=78.0&TOKEN=EC-12345678

    4. GetExpressCheckoutDetails 响应
      .....
      确认=成功
      PAYERID=ABCDEFGH
      ......

    5. DoExpressCheckoutPayment 请求 METHOD=SetExpressCheckout&USER=yourAPIuser&PWD=yourAPIpwd&SIGNATURE=yourAPIsig&VERSION=78.0&AMT=0.01&PAYERID=ABCEDFGH&TOKEN=EC-12345678

    6. DoExpressCheckoutPayment 响应
      ....
      确认=成功
      PAYMENTSTATUS=已完成
      ....

    另请参阅 SetExpressCheckout:https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_SetExpressCheckout
    GetExpressCheckoutDetails:https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_GetExpressCheckoutDetails
    DoExpressCheckoutPayment:https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_DoExpressCheckoutPayment

    以及https://www.x.com/ > API 参考。

    注意:我在指向 PayPal 的重定向 URL 中使用了“useraction=commit”,因为这会将 PayPal 的“查看您的付款”上的“继续”按钮更改为“立即付款”按钮。因此,这意味着买家一旦点击该按钮就会立即被收取费用。这很方便。

    【讨论】:

      猜你喜欢
      • 2012-11-06
      • 2015-06-01
      • 2021-06-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2016-10-09
      • 2018-01-21
      • 1970-01-01
      相关资源
      最近更新 更多