我正在整合贝宝,我已经正确地完成了。我已经设置了返回 URL,所以它在 url 中给了我下面的结果集$_GET
。
Array ( [tx] => 7XV08083GT683520Y [st] => Completed [amt] => 22.16 [cc] => USD [cm] => [item_number] => item_number )
我担心的是无法验证从 Paypal 返回的数据。我体验过其他支付网关。其他支付网关允许您这样做hashMatch
,以确保表单提交的数据未被编辑。
我的表格如下。
<form method="post" action="https://www.sandbox.paypal.com/cgi-bin/webscr">
<!-- Identify your business so that you can collect the payments. -->
<input type="hidden" value="dasun_1358759028_biz@archmage.lk" name="business">
<!-- Specify a Buy Now button. -->
<input type="hidden" value="_xclick" name="cmd">
<!-- Specify details about the item that buyers will purchase. -->
<input type="hidden" value="AM Test Item" name="item_name">
<input type="hidden" value="22.16" name="amount">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" value="item_number" name="item_number">
<!-- 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代码输出
<input type="hidden" value="50.16" name="amount">
但是我使用了萤火虫并将其编辑到下面并付款。
<input type="hidden" value="22.16" name="amount">
我仍然得到结果,因为它是Completed
付款,但它不应该是因为我手动进行了更改。任何有知识的人都可以编辑它们。我如何确保这是一笔有效的付款?如何确保不会像我一样编辑表单数据?