【问题标题】:Paypal Upload Command - How to encrypt/secure dynamically generated payment amounts?Paypal 上传命令 - 如何加密/保护动态生成的付款金额?
【发布时间】:2013-12-24 14:38:41
【问题描述】:

好的,所以我看到了一个与此类似的问题,但我认为我的情况有点不同,因此需要提出一个问题。因此,我正在开发一个允许您从两个下拉列表中进行选择的网站。我正在使用 jQuery 来跟踪这些下拉菜单何时更改。然后根据更改,我更新了 PayPal 隐藏表单(购物车上传命令)。

然后,一旦用户完成选择选项,他们单击结帐按钮,将他们带到显示他们选择的项目的 PayPal 页面,他们可以通过 PayPal 开始结帐过程。当我这样说时听起来很容易,但后来我读到它需要加密。我的问题是如何加密动态生成的表单。他们建议使用 PayPal 按钮创建工具。好吧,如果我有一个静态数量,那将是有道理的,但我没有。

HTML

<label for="space-selector">Select Space</label>
<select class="form-control" id="space-selector" name="space-selector">
    <option value="150">10' x 10'</option>
    <option value="225">20' x 10'</option>
    <option value="300">30' x 10'</option>
    <option value="500">Custom</option>
</select>
<label for="parkingpass-selector">2 Day Parking Pass - $50</label>
<select class="form-control" id="parkingpass-selector" name="parkingpass-selector">
    <option value="0">No</option>
    <option value="50">Yes</option>
</select>   

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_cart">
    <input type="hidden" name="upload" value="1">
    <input type="hidden" name="business" value="jestewart.11@gmail.com">
    <input type="text" name="item_name_1" value="Space Selected" readonly>
    <input type="text" name="amount_1" value="1.00"readonly>
    <input type="hidden" name="shipping_1" value="1.75">
    <input type="text" name="item_name_2" value="Parking Pass" readonly>
    <input type="text" name="amount_2" value="2.00" readonly>
    <input type="hidden" name="shipping_2" value="2.50">
    <input type="submit" value="Checkout">
</form>

jQuery

$(function (){
    //space selector change
    $("select[name=space-selector]").change( function () {
        //update the hidden form values based off of selectors
        $("input[name=item_name_1]").val($(this).find(":selected").text());
        $("input[name=amount_1]").val($(this).find(":selected").val());
    });

    //parking pass selector change
    $("select[name=parkingpass-selector]").change( function () {
        //update the hidden form values based off of selectors
        $("input[name=item_name_2]").val($(this).find(":selected").text());
        $("input[name=amount_2]").val($(this).find(":selected").val());
    });
});

这是向您展示功能的小提琴。 Fiddle

【问题讨论】:

  • 您没有“加密表单”。那是没有意义的。您加密通信,例如使用https
  • 好的,我应该得到一个 SSL,然后正确吗?
  • 正确。不通过 SSL 做任何重要的事情是一个糟糕的主意。
  • 是的,但是是什么阻止了任何人复制和粘贴我的源代码并进行欺诈性付款。 SSL 不能防止这种情况发生。
  • @j0hnstew 我也有同样的情况。太糟糕了,没有人为此提出解决方案。猜猜我会继续打猎!

标签: javascript php jquery encryption paypal


【解决方案1】:

您不需要加密金额和其他内容。唯一重要的是在服务器上进行所有验证。

Paypal 有一个 API 允许这样做。国际网络

一些链接: https://developer.paypal.com/webapps/developer/docs/classic/products/instant-payment-notification/

http://www.micahcarrick.com/paypal-ipn-with-php.html

【讨论】:

    猜你喜欢
    • 2013-09-27
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 2020-05-12
    • 2014-02-18
    • 1970-01-01
    • 2017-03-24
    • 2020-09-18
    相关资源
    最近更新 更多