paypal的新结账让我觉得不安全,用户不能在无声的一面触发假付款?

提供的代码如下所示

paypal.Button.render({  
    env: 'sandBox',client: {
        sandBox: 'AapGZeCaaDK_q_KPeG19DHnD_kd18vr6BxNe4P6uuhfTKPjIedtNEI9plyDgmzfyI-xGhbxjpv0k-Ha9',production: 'xxxxxxxxx' // u expose the key to client side? is this ok?
    },payment: function() {
        var env    = this.props.env;
        var client = this.props.client;

        return paypal.rest.payment.create(env,client,{
            transactions: [{
                amount: { total: ($scope.number_of_uses * 9) + '.00',currency: 'USD' },item_list: {
                    items: [{
                        "name": "example","quantity": $scope.number_of_uses,"price": "9.00","currency": "USD"
                    }]
                }
            }],redirect_urls: {
                "return_url": $location.absUrl(),"cancel_url": $location.absUrl()
            }
        });
    },onAuthorize: function(data,actions) {
        return actions.payment.execute().then(function() {
            actions.payment.get().then(function(data){
                // here I will save data detail to db to record sales
                // $http something something 
            });
        });
    }

},'#paypal-button');

在条带中,我必须将令牌传递给后面,然后在我的服务器端验证该令牌,如果一切正常则继续记录销售.但在paypal中,似乎这是我需要实现的唯一表达结账的东西.这甚至安全吗?

解决方法

您是正确的,这对更新数据库是不安全的.这是一种安全的付款方式,但是,您无法与客户验证付款是否成功,然后使用onAuthorize方法更新您的数据库.

要验证您的数据库的付款是否成功,您必须使用Server Side REST API.遗憾的是,PayPal文档非常缺乏,但有SDKs文档更具记录性且更易于实现. (Shortcut to Node SDK).

我建议您使用这些来实现数据库的更新. PayPal返回一个参数,告诉您付款成功.

javascript – 使用cilent ajax调用的paypal快速结账安全性的更多相关文章

  1. 保护接收paypal IPN通知的php脚本

    在我的网站中,我集成了一个接收IPN通知的PHP脚本,并向客户发送许可证密钥.此脚本位于PHP脚本所需的其他2个PHP文件的文件夹中…如果我放入一个.htaccess:我也阻止了paypal通知.我该如何保护它?您可以安全地将对IPN脚本的访问权限限制为以下IP地址列表:这可以通过以下方式完成:这样,只有Paypal才能访问IPN脚本.这个IP地址列表多年来一直相当稳定.如果Paypal添加了新地址,您可以向电子邮件添加报告并手动查看此类案例.

  2. php paypal快速结账问题

    我正在尝试在我的网站上集成paypal快速结账.我试图使用沙箱进行检查.当我从我的网站提交数据时,生成的令牌没有错误,但是当重定向到paypal时,它没有显示付款金额.顺便说一下,我正在使用paypalexpresscheckout向导的代码.如果有人指出我正确的方向,将会有所帮助.由于您没有传递所谓的“订单项详细信息”(产品数据),因此PayPal不会显示总金额.如果您只想显示当前购买的金额,请

  3. php – Paypal沙箱定期付款,初始金额待定

    创建使用上面列出的库的订阅的代码片段:为了防止有人遇到这样的麻烦,我的发现是:没有什么可以解决的–沙箱只是真的很慢,有时需要几天的时间才能使配置文件变得活跃并发送IPN.换句话说,沙盒根本不是很好的测试这些功能,只需要进行一次测试即可实现退款.即使生活有时候需要一点时间…我看过它需要几个小时,所以不要疯了.

  4. php – 发送购物车物品到PayPal

    我只需要能够发送我的数据库中的什么支付宝,以便用户可以支付这些项目.任何帮助都是非常感激的.谢谢!

  5. PHP验证PayPal捐款

    如何验证paypal捐款?在用户面板中,我有一个捐赠按钮.一旦有人真的捐款,我想对他做点什么.但我不知道如何检查用户是否真的捐赠了,或者只是点击捐赠按钮.查看PayPal的IPN当有人向您的Paypal帐户进行付款或捐赠时,Paypal将向您的网络服务器发送一封邮件,其中包含所有付款明细.然后,您可以将信息发送回Paypal,以确保付款真实…PayPal的网站甚至有一些codeexamples.包括一个PHP.请注意,您必须启用IPN并在您的PayPal帐户中定义回拨URL,然后才能开始使用IPN.

  6. php – Paypal项目描述与其余api sdk

    现在上面的代码给了我400错误…因为添加了项目的东西,任何线索?

  7. php – 使用CodeIgniter的PayPal IPN

    我正在尝试在CodeIgniter内置的网站上实现会员订阅服务.我希望使用PayPal来管理付款,并且我很难实现这一点.我想要实现的是:>用户填写会员表个人资料>用户选择一个订阅选项(8种选择中的1种–每种不同的价格)并提交表格>用户被发送到PayPal付款>成功付款后,用户将返回站点,个人详细信息将存储在创建用户帐户(成员资格)的数据库中.还添加了表单验证,我在CodeIgniter中使用for

  8. php – Paypal Rest API的工作

    我无法正确理解PaypalAPI.我想了解用于付款的PHPSDK.我也尝试查看PaypalIntegration.我无法理解的是.>它不需要登录用户吗?>用Paypal存储信用卡真正意味着什么?>我不希望用户访问Paypal的网站,我的意思是,付款应该完全在我的网站上进行,而不会被重定向到Paypal.我应该怎么做呢?

  9. php – PayPal IPN安全

    PayPalIPN向通知URL发送带有可变数量字段的POST请求,为了确认POST请求是合法的,我们需要将相同的请求以及另外的cmd=_notify-validate字段重新提交给PayPal,然后PayPal回复验证或无效.我的问题是,为什么我们需要将请求重新发送给PayPal?我们可以信任服务器正确解析IP,我认为我们可以信任来自PayPal的所有请求,不是吗?

  10. php – 将PayPal返回URL设置为localhost

    如果您尝试指定IP地址而不是localhost,该怎么办?无法在远程计算机上解析本地主机.它只是您知道localhost语句的本地DNS,并且是127.0.0.1.

随机推荐

  1. xe-ajax-mock 前端虚拟服务

    最新版本见Github,点击查看历史版本基于XEAjax扩展的Mock虚拟服务插件;对于前后端分离的开发模式,ajax+mock使前端不再依赖后端接口开发效率更高。CDN使用script方式安装,XEAjaxMock会定义为全局变量生产环境请使用xe-ajax-mock.min.js,更小的压缩版本,可以带来更快的速度体验。

  2. vue 使用 xe-ajax

    安装完成后自动挂载在vue实例this.$ajaxCDN安装使用script方式安装,VXEAjax会定义为全局变量生产环境请使用vxe-ajax.min.js,更小的压缩版本,可以带来更快的速度体验。cdnjs获取最新版本点击浏览已发布的所有npm包源码unpkg获取最新版本点击浏览已发布的所有npm包源码AMD安装require.js安装示例ES6Module安装通过Vue.use()来全局安装示例./Home.vue

  3. AJAX POST数据中文乱码解决

    前端使用encodeURI进行编码后台java.net.URLDecoder进行解码编解码工具

  4. Koa2框架利用CORS完成跨域ajax请求

    实现跨域ajax请求的方式有很多,其中一个是利用CORS,而这个方法关键是在服务器端进行配置。本文仅对能够完成正常跨域ajax响应的,最基本的配置进行说明。这样OPTIONS请求就能够通过了。至此为止,相当于仅仅完成了预检,还没发送真正的请求呢。

  5. form提交时,ajax上传文件并更新到<input>中的value字段

  6. ajax的cache作用

    filePath="+escape;},error:{alert;}});解决方案:1.加cache:false2.url加随机数正常代码:网上高人解读:cache的作用就是第一次请求完毕之后,如果再次去请求,可以直接从缓存里面读取而不是再到服务器端读取。

  7. 浅谈ajax上传文件属性contentType = false

    默认值为contentType="application/x-www-form-urlencoded".在默认情况下,内容编码类型满足大多数情况。在这里,我们主要谈谈contentType=false.在使用ajax上传文件时:在其中先封装了一个formData对象,然后使用post方法将文件传给服务器。说到这,我们发现在JQueryajax()方法中我们使contentType=false,这不是冲突了吗?这就是因为当我们在form标签中设置了enctype=“multipart/form-data”,

  8. 909422229_ajaxFileUpload上传文件

    ajaxFileUpload.js很多同名的,因为做出来一个很容易。我上github搜AjaxFileUpload出来很多类似js。ajaxFileUpload是一个异步上传文件的jQuery插件传一个不知道什么版本的上来,以后不用到处找了。语法:$.ajaxFileUploadoptions参数说明:1、url上传处理程序地址。2,fileElementId需要上传的文件域的ID,即的ID。3,secureuri是否启用安全提交,默认为false。4,dataType服务器返回的数据类型。6,error

  9. AJAX-Cache:一款好用的Ajax缓存插件

    原文链接AJAX-Cache是什么Ajax是前端开发必不可少的数据获取手段,在频繁的异步请求业务中,我们往往需要利用“缓存”提升界面响应速度,减少网络资源占用。AJAX-Cache是一款jQuery缓存插件,可以为$.ajax()方法扩展缓存功能。

  10. jsf – Ajax update/render在已渲染属性的组件上不起作用

    我试图ajax更新一个有条件渲染的组件。我可以确保#{user}实际上是可用的。这是怎么引起的,我该如何解决呢?必须始终在ajax可以重新呈现之前呈现组件。Ajax正在使用JavaScriptdocument.getElementById()来查找需要更新的组件。但是如果JSF没有将组件放在第一位,那么JavaScript找不到要更新的内容。解决方案是简单地引用总是渲染的父组件。

返回
顶部