【问题标题】:Paypal Recurring Subscription cart auto cancellation happening always贝宝定期订阅购物车自动取消总是发生
【发布时间】:2015-12-09 06:13:40
【问题描述】:

您好,我正在为我的一个 opencart 网站使用 paypal 定期订阅

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="paypal">
   <input type="hidden" name="cmd" value="_cart">
   <input type="hidden" name="upload" value="1">
   <input type="hidden" name="business" value="test@eyelook.com">
   <input type="hidden" name="item_name_1" value="1 • DAY ACUVUE DEFINE with Lacreon">
   <input type="hidden" name="item_number_1" value="1DAY-DEFINE-30">
   <input type="hidden" name="amount_1" value="50.00">
   <input type="hidden" name="quantity_1" value="1">
   <input type="hidden" name="weight_1" value="50">
   <input type="hidden" name="on0_1" value="RIGHT EYE">
   <input type="hidden" name="os0_1" value=" ">
   <input type="hidden" name="on1_1" value="Colour">
   <input type="hidden" name="os1_1" value="Accent Style BLACK">
   <input type="hidden" name="on2_1" value="Base Curve">
   <input type="hidden" name="os2_1" value="8.5">
   <input type="hidden" name="on3_1" value="Power">
   <input type="hidden" name="os3_1" value="-0.00">
   <input type="hidden" name="on4_1" value="Diameter">
   <input type="hidden" name="os4_1" value="14.2">
   <input type="hidden" name="on5_1" value="Subscription">
   <input type="hidden" name="os5_1" value="Every 2 Months">
   <input type="hidden" name="item_name_2" value="Shipping, Handling, Discounts &amp; Taxes">
   <input type="hidden" name="item_number_2" value="">
   <input type="hidden" name="amount_2" value="3.00">
   <input type="hidden" name="quantity_2" value="1">
   <input type="hidden" name="weight_2" value="0">
   <input type="hidden" name="currency_code" value="SGD">
   <input type="hidden" name="first_name" value="Test Niyaz">
   <input type="hidden" name="last_name" value="Hussain">
   <input type="hidden" name="address1" value="       sdsdsds">
   <input type="hidden" name="address2" value="">
   <input type="hidden" name="city" value="dsdsd">
   <input type="hidden" name="zip" value="121323">
   <input type="hidden" name="country" value="NE">
   <input type="hidden" name="address_override" value="0">
   <input type="hidden" name="email" value="niyak2@gmail.com">
   <input type="hidden" name="invoice" value="12898 - Test Niyaz Hussain">
   <input type="hidden" name="lc" value="en">
   <input type="hidden" name="rm" value="2">
   <input type="hidden" name="no_note" value="1">
   <input type="hidden" name="no_shipping" value="1">
   <input type="hidden" name="charset" value="utf-8">
   <input type="hidden" name="return" value="http://eyelookgood.com/index.php?route=checkout/success">
   <input type="hidden" name="notify_url" value="http://eyelookgood.com/index.php?route=payment/pp_standard/callback">
   <input type="hidden" name="cancel_return" value="http://eyelookgood.com/index.php?route=checkout/checkout">
   <input type="hidden" name="paymentaction" value="sale">
   <input type="hidden" name="custom" value="12898">
   <input type="hidden" name="bn" value="OpenCart_2.0_WPS">
   <input type="button" onclick="checkSubscription();" value="Confirm Order" class="btn btn-primary">
 </form>

我已经联系了贝宝的人。他们说这是设置问题。我可以知道上面代码中的错误是什么吗?请帮我解决这个问题好吗?

【问题讨论】:

    标签: php paypal opencart


    【解决方案1】:

    您必须在您的 html 表单参数中使用“p3”和“t3”。

    p3:在您使用 t3 指定的持续时间单位的允许范围内指定一个整数值。

    t3:定期订阅单位持续时间。

    允许的值为:
    D - 天数; p3 的允许范围是 1 到 90
    W - 数周; p3 的允许范围是 1 到 52
    M - 几个月; p3 的允许范围是 1 到 24
    Y - 多年; p3 的允许范围是 1 到 5

    另外,cmd 参数必须是 _xclick-subscriptions 而不是 _cart


    按照这个例子:

    <form method="post" name="formName" id="submitThisForm" action="https://www.paypal.com/cgi-bin/webscr" >
    <input type="hidden" name="cmd" value="_xclick-subscriptions">
    <input type="hidden" name="business" value="your@papypamail.com" />
    <input type="hidden" name="item_name" value="Your Membership" />
    <input type="hidden" name="a3" value="0.01">
    <input type="hidden" name="p3" value="1"> 
    <input type="hidden" name="t3" value="M">
    <input type="hidden" name="src" value="1">
    <input type="hidden" name="sra" value="1">
    <input type="hidden" name="item_number" value="2" />
    <input type="hidden" name="custom" value="SECURITYCODE" />
    <input type="hidden" name="currency_code" value="USD" />
    <input type="hidden" name="quantity" value="1" />
    <input type="hidden" name="no_shipping" value="1" />
    <input type="hidden" name="return" value="page going after payment" />
    <input type="hidden" name="cancel_return" value="" />
    <input type="hidden" name="cbt" value="ITEM DESCRIPTION" />
    <input type="hidden" name="rm" value="2" />
    <input type="hidden" name="notify_url" value="your_listener_file.php" />
    

    参数“p3”的允许范围是1到24。

    在你的情况下必须设置

    <input type="hidden" name="p3" value="1">
    

    <input type="hidden" name="t3" value="M">
    

    【讨论】:

      【解决方案2】:

      您似乎没有创建订阅按钮,因为缺少 value="_s-xclick"。对于订阅按钮,您可以在按钮代码中指定以下变量;

      <input type="hidden" name="cmd" value="_s-xclick">
      

      您可以参考here

      【讨论】:

        猜你喜欢
        • 2013-05-19
        • 2017-11-18
        • 2011-04-14
        • 2015-11-03
        • 2012-03-10
        相关资源
        最近更新 更多