使用payPal按钮,用户可以在付款前更改价格
Using payPal button - user can change the price before paying
我有3个项目,我在我的网站上销售,我不需要购物车或类似的东西。在用户用数据填写表单之后,我将他导航到一个新页面,在那里我显示他输入的所有数据和价格。现在这个PayPal按钮是由hidden input field:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="test12344@gmail.com">
<input type="hidden" name="lc" value="EN">
<input type="hidden" name="item_name" value="aaa">
<input type="hidden" name="item_number" value="12345">
<input type="hidden" name="button_subtype" value="services">
<input type="hidden" name="no_note" value="0">
<input type="hidden" name="amount" value="">
<input type="hidden" name="bn" value="">
<input type="image" src="https://www.paypalobjects.com/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
JavaScript
I输入参数到新页面,并在PayPal按钮的金额输入(价格)中设置价格。
当您点击按钮时,您将导航到payPal页面,金额来自:
<input type="hidden" name="amount" value="199.50">
我的问题是:这是正确的事情吗?任何用户,甚至黑客都可以简单地在按下按钮之前改变数量并按下这个按钮……因此,他将支付(可能更少)不同的价格!我想使用直接API,但它只适用于美国和加拿大的企业。
最好的办法是什么?
您应该使用加密的网站支付- https://www.paypal.com/cgi-bin/webscr?cmd=p/xcl/rec/ewp-intro-outside。这将确保付款金额不能更改。您还可以更新您的设置,只允许从加密按钮付款,以进一步保护您的帐户/付款免受黑客攻击,以降低价格。
首先-我强烈建议你停止使用Javascript的任何支付相关的工具。这是一种客户端技术,任何人都可以轻松地编辑传递的值。当处理付款时,我做所有的服务器端…
,
如果你只卖几件商品,为什么要隐藏价格呢?为了保存所有项目的信息和值,使用数组(这很简单,但并不总是好的)或数据库(使其更容易更新)不是更容易吗?然后直接转给贝宝吗?
$orderParams = array(
// Sets event to sale
'PAYMENTREQUEST_0_PAYMENTACTION' => 'Sale',
// Forces Shipping To Accept My Values
'REQCONFIRMSHIPPING' => '0',
'ADDROVERRIDE' => '1',
// Final Cost Totals - Must match with Controller
// Hardcoded - Only accept US Scratch
'PAYMENTREQUEST_0_CURRENCYCODE' => 'USD',
// Payment Costs
'PAYMENTREQUEST_0_AMT' => $total,
'PAYMENTREQUEST_0_SHIPPINGAMT' => $buyer['shippingTotal'],
'PAYMENTREQUEST_0_ITEMAMT' => $subTotal,
// Custom Shipping Information
'PAYMENTREQUEST_0_SHIPTONAME' => $buyer['payName'],
'PAYMENTREQUEST_0_SHIPTOSTREET' => $buyer['payStreet'],
'PAYMENTREQUEST_0_SHIPTOCITY' => $buyer['payCity'],
'PAYMENTREQUEST_0_SHIPTOSTATE' => $state,
'PAYMENTREQUEST_0_SHIPTOZIP' => $buyer['payZip'],
'PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE' => $country,
'PAYMENTREQUEST_0_INVNUM' => $buyer['quoteNumber']
);
/*'PAYMENTREQUEST_0_SHIPTONAME' => $buyer['payName'],
'PAYMENTREQUEST_0_SHIPTOSTREET' => $buyer['payStreet'],
'PAYMENTREQUEST_0_SHIPTOCITY' => $buyer['payCity'],
'PAYMENTREQUEST_0_SHIPTOSTATE' => $buyer['payState'],
'PAYMENTREQUEST_0_SHIPTOZIP' => $buyer['payZip'],
'PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE' => 'US',
'PAYMENTREQUEST_0_INVNUM' => $buyer['quoteNumber']
);*/
// Item Array for wheel
$yoke = array(
'L_PAYMENTREQUEST_0_NAME0' => 'Custom Control Wheel Set',
'L_PAYMENTREQUEST_0_DESC0' => 'Custom Leather Choices',
'L_PAYMENTREQUEST_0_AMT0' => $buyer['payItem'],
'L_PAYMENTREQUEST_0_QTY0' => '1'
);
这是我使用的PayPal相关代码的一个小集合。使用我自己的数组来填充每个项目,然后将其传递给贝宝。我强烈建议不要通过Javascript传递任何信息。
为什么要在视图中添加价格数据呢?这有什么原因吗?
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 多个单选按钮组相互干扰
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Javascript按钮下拉列表
- jquery试图按名称获取按钮位置
- 漂亮照片图片库中的Facebook赞按钮
- 扩展移相器按钮类不工作
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 单击按钮以等待单击按钮
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 如何从querySelectorAll中获取按钮类型
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 按下按钮时保存cookie
- 我需要创建一个PayPal“立即付款”按钮,该按钮将根据选定的复选框识别总价
- 如果输入字段不是 40 个字符,则隐藏付款表单PayPal提交按钮
- 用户在Javascript的帮助下,仅通过单选按钮选择一个付款方式(信用卡)
- 使用payPal按钮,用户可以在付款前更改价格
- 在付款按钮上添加自己的金额