来自MySQL和PHP脚本的Paypal重复付款

时间:2015-11-22 15:47:10

标签: php mysql paypal paypal-subscriptions recurring

我正在寻找一种方法来使用PHP和MySQL来跟踪一些产品并在我的网站上出售它们。我在网上找到了以下代码,并希望对其进行编辑,使其成为定期付款(paypal订阅)而不是单笔付款。我不确定定期付款会改变什么。我已经阅读了PayPal开发者网站,但它并没有显示我需要的代码。有人可以帮忙吗?

以下是产品的SQL:

--
-- Table structure for table `products`
--

CREATE TABLE IF NOT EXISTS `products` (
  `id` int(11) NOT NULL,
  `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `price` float(10,2) NOT NULL,
  `status` tinyint(1) NOT NULL DEFAULT '1'
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8         COLLATE=utf8_unicode_ci;

--
-- Dumping data for table `products`
--

INSERT INTO `products` (`id`, `name`, `price`, `status`) VALUES
(1, 'LavaBasic', 1.99, 1),
(2, 'LavaStarter', 2.99, 1),
(3, 'LavaAdvanced', 4.99, 1),
(4, 'LavaFlow', 5.99, 1);

这是我在显示产品的页面上的PHP:

<body>
    <?php
        //fetch products from the database
        $results = $db->query("SELECT * FROM products");
        while($row = $results->fetch_assoc())
        {
    ?>
    <br/>Name: <?php echo $row['name']; ?>
<br/>Price: <?php echo $row['price']; ?>
<form action="<?php echo $paypal_url; ?>" method="post">

    <!-- Identify your business so that you can collect the payments. -->
    <input type="hidden" name="Lavastack" value="<?php echo $paypal_id; ?>">

    <!-- Specify a Buy Now button. -->
    <input type="hidden" name="cmd" value="_xclick">

    <!-- Specify details about the item that buyers will purchase. -->
    <input type="hidden" name="item_name" value="<?php echo $row['name']; ?>">
    <input type="hidden" name="item_number" value="<?php echo $row['id']; ?>">
    <input type="hidden" name="amount" value="<?php echo $row['price']; ?>">
    <input type="hidden" name="currency_code" value="USD">

    <!-- Specify URLs -->
    <input type='hidden' name='cancel_return' value='http://localhost/nitya/paypal_integration_php/cancel.php'>
    <input type='hidden' name='return' value='http://localhost/nitya/paypal_integration_php/success.php'>


    <!-- Display the payment button. -->
    <input type="image" name="submit" border="0"
    src="https://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif" alt="PayPal - The safer, easier way to pay online">
    <img alt="" border="0" width="1" height="1"   src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" >

    </form>
    <?php } ?>
</body>

我正在尝试查找要进行更改的内容,以便我在SQL上列出的价格将重复出现,而不是一次性付款。任何建议将不胜感激!提前感谢大家。

1 个答案:

答案 0 :(得分:0)

您只需调整按钮参数即可将按钮变为订阅按钮,而不是立即购买按钮。有关详细信息,请查看PayPal Standard variables documentation

具体来说,你会改变这个......

<input type="hidden" name="cmd" value="_xclick">

到此......

<input type="hidden" name="cmd" value="_xclick-subscriptions">

然后你可以参考文档的recurring payments / subscriptions section来查看你需要使用的其他参数,每个期间的金额,期间本身(即周,月等)例如,您将使用“a3”代替“金额”。