我正在寻找一种使用 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 上列出的价格将按该金额重复出现,而不是一次性付款。任何建议将不胜感激!提前感谢大家。
最佳答案
您只需调整按钮参数即可将按钮变为订阅按钮而不是立即购买按钮。看看PayPal Standard variables documentation更多细节。
具体来说,您将更改此...
<input type="hidden" name="cmd" value="_xclick">
对此...
<input type="hidden" name="cmd" value="_xclick-subscriptions">
然后可以引用recurring payments / subscriptions section文档以查看您需要用于每个期间金额、期间本身(即周、月等)的其他参数是什么。例如,您可以使用“a3”而不是“金额”。
关于php - 来自 MySQL 和 PHP 脚本的 Paypal 定期付款,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33856707/