【发布时间】:2015-10-15 03:36:01
【问题描述】:
我正在努力寻找在我的网站中集成 Paypal“立即购买”按钮的最佳方式,但我对所有各种 Paypal 集成技术(托管按钮、动态按钮、IPN、PDT 和其他各种 API)
我想根据自己的需要集成更好/最简单的解决方案以及安全...
我真的不知道该去哪里......
非常感谢您的帮助!
上下文:
我拥有一个旨在成为销售数字商品的“市场”的网站。
有些人(我们称他们为 SELLERS)在我的网站上注册为“卖家”并上传他们想要销售的一些数字商品。我为他们销售的每个“产品”生成在线页面。
其他一些人(我们称他们为 BUYERS)也仅在我的网站上注册为“买家”:他们只是想从不同的卖家那里购买这些数字商品。
我的需要:
我想在每个产品页面上集成卖家的paypal按钮,所以他会直接付款。我不想成为付款的中间人。
所以我需要在每个产品页面上集成不同的按钮,具体取决于该产品的卖家。
我还需要为每种产品动态指定不同的价格,具体取决于所售产品(价格将由卖家在我的网站后台确定)
交易完成后(买家付款),我需要在商品页面为该买家解锁商品的下载。事实上,我需要更新我的数据库以将产品与该买家相关联,所以当他稍后回到我的网站时,他总是将他购买的产品“解锁”。
我对按钮的看法:
1/ 动态 HTML 按钮
<form name="_xclick" action="https://www.paypal.com/fr/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="item_name" value="Digital good 1">
<input type="hidden" name="amount" value="12.99">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="quantity" value="1">
<input type="hidden" name="item_number" value="internal_user_and_product_id">
<input type="hidden" name="business" value="seller@abusiness.com">
<input type="hidden" name="notify_url" value="https://mywebsite.com/paypal-ipn.php">
<input type="image" src="http://www.paypal.com/fr_FR/i/btn/x-click-but01.gif" border="0" name="submit">
</form>
这里似乎只需要询问卖家其 Paypal 业务电子邮件或 ID,并为他和他的产品动态生成一个按钮。我还可以提供我的 IPN 侦听器 URL,以便在收到完整交易后使用通过“item_number”传递的数据为我的数据库中的买家解锁产品。很简单。
但是:
- 这不安全
(任何人都可以在购买前更改 HTML 中的金额或贝宝 ID)
- 如果卖家提供的电子邮件地址不正确(拼写错误)会怎样?
(我尝试使用测试按钮和虚假电子邮件地址“djfhsgfshdgfsd@dghe.com”进行购买,但我能够处理付款!!这不是企业 ID 不正确的情况...)
2/ Paypal 托管按钮
<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="PJM2WY8H648ZK">
<input type="hidden" name="item_name" value="Digital good 2">
<input type="hidden" name="quantity" value="1">
<input type="hidden" name="item_number" value="internal_user_and_product_id">
<input type="hidden" name="notify_url" value="https://mywebsite.com/paypal-ipn.php">
<input type="image" src="http://www.paypal.com/fr_FR/i/btn/x-click-but01.gif" border="0" name="submit">
<input type="image" src="https://www.paypalobjects.com/fr_FR/FR/i/btn/btn_buynow_LG.gif" border="0" name="submit">
<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
</form>
这将避免使用 Paypal 上托管的按钮进行欺诈。
但是:
- 我无法动态生成按钮(如金额和货币)。
这意味着我必须要求卖家为他们要出售的每件商品自己生成一个托管按钮,并设置正确的价格。
这也意味着我将无法在我的网站上显示产品的价格?事实上,如果卖家在他的 Paypal 托管按钮中设置了 2 美元,但在我的后台设置了 1 美元,我将在我的网站上显示 1 美元,而实际价格是 2 美元...
- 我不确定我可以提供哪些变量来覆盖托管按钮。
我至少需要“notify_url”(IPN 侦听器 URL)和“item_number”(我的产品/买家技术 ID)
下一步...
对于接下来的步骤,我还有很多询问,例如 IPN/PDT 以及我真正能用这些做什么。但我们先回答我可以使用和集成的按钮类型!
【问题讨论】:
标签: paypal paypal-ipn payment-gateway payment paypal-adaptive-payments