创建动态计费按钮

Posted

技术标签:

【中文标题】创建动态计费按钮【英文标题】:create dynamic billing button 【发布时间】:2014-07-28 13:12:36 【问题描述】:

我想使用 paypal

当我在 paypal.com 上使用创建按钮时,它会为我生成一个按钮:

           <form action='https://www.paypal.com/cgi-bin/webscr' method='post' target='_top'>
       <input type='hidden' name='cmd' value='_s-xclick'>
       <input type='hidden' name='hosted_button_id' value='BFKATLSGW6CTW'>
      <input type='image' src='https://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif' border='0' name='submit' alt='PayPal - The safer, easier way to pay online!'>

      <img alt='' border='0' src='https://www.paypalobjects.com/en_US/i/scr/pixel.gif' width='1' height='1'>
      </form>

但它的价格是固定的

我尝试添加隐藏输入

    <input type="hidden" name="amount" value="5.95">

但价格仍然不变

我尝试将自动计费扔到 paypal.com 但我得到了

您需要有一个 PayPal 企业帐户和增强的定期付款包才能创建自动计费或分期付款计划按钮

我查看了我的个人资料并为其创建了一个业务应用程序,但消息仍然相同

我最后一次尝试使用这种形式

 <form action="https://www.paypal.com/cgi-bin/webscr" method="post">

 <!-- Identify your business so that you can bill for payments. -->
 <input type="hidden" name="business" value="BLWHUxxxxxx"> <!-- I put my merchant  id---->

        <!-- Specify an Automatic Billing button. -->
        <input type="hidden" name="cmd" value="_xclick-auto-billing">

        <!-- Specify details about the automatic billing plan. -->
        <input type="hidden" name="currency_code" value="USD">
        <input type="hidden" name="item_name" value="Regular House Cleaning">
        <input type="hidden" name="max_text" value="Regular House Cleaning">
        <input type="hidden" name="set_customer_limit" value="max_limit_own">
        <input type="hidden" name="min_amount" value="1.00">



        <!-- Make sure you get the buyer's address during checkout. -- >
        <input type="hidden" name="no_shipping" value="2">

        <!-- Display the description and a text box to enter the maximum. -->
        <table>
        <tr>
        <td><strong> </strong></td></tr>
        <tr><td> 
         </td></tr>
        <tr><td>$ 
        <input type="hidden" name="amount" value="5.95">
        <input type="text" name="max_amount" value="1000"> USD</td></tr>

        <!-- Inform buyers of the monthly minimum payment -->
        <tr><td> </td></tr>
        </table>

        <!-- Display the Automatic Billing button -->
        <table>

        <tr><td><input type="image" border="0" name="submit" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif"
        ></td></tr>
        </table>
        <img  border="0"   src="http://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif" />
        </form>

但结果是

此商家无权提供此自动计费方案。请联系商家或选择其他产品。

任何建议都有一个脚本,从数据库中获取价格,让客户为服务付费!

【问题讨论】:

【参考方案1】:

您正在使用托管按钮。无法覆盖 Hosted Button 中的金额值。您可以清除文本按钮以覆盖金额变量。 在 Paypal 中创建按钮时,请确保在步骤 2 中取消选中“Save button at PayPal”选项。这使按钮“清除文本”并提供使用自定义逻辑覆盖任何变量的选项。自动计费,分期付款按钮仅在您拥有Enhanced Recurring PaymentsERP

【讨论】:

以上是关于创建动态计费按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 webhook 在 PayPal API 中确认每月订阅的计费?

我在使用 Python 为 Flask 设置计费周期时遇到问题

Paypal REST API - 计费协议

PayPal REST API 计费计划和协议(订阅)

带插件的计费计划

创建没有具体金额的计费协议