我正在使用Payflow Pro(https://pilot-payflowpro.paypal.com)尝试成为PCI兼容的C#VS2012 Framework 4.5 MVC应用程序.我们多年来一直在使用PayflowPro,这就是我必须使用的.从我的阅读中看来,我似乎应该使用透明重定向,所以我不会向我的网络服务器发布任何私有内容,但我不知道我是否需要这个以及我希望如何处理这个问题.我也有几个问题......
我怎么认为这一切都有效: 我的理解是你需要一个安全的语言(与Paypal的通信,旅程1).然后您发布安全数据(CC,exp,安全代码),包括securetoken(与Paypal的通信,旅程2)并接收销售的授权和交易ID.
我希望如何做到这一点: 我打算拥有一个包含所有信息(用户详细信息,运送详细信息和CC信息)的表单,当用户按下购买按钮时,我将使用AJAX处理1到我的服务器(没有发送安全的用户信息).在这里,我将创建URL + params并发送paypal我的un/pw信息以检索令牌(全部来自我的服务器).响应将返回给客户端,如果成功,我将直接通过AJAX与Paypal的网关服务器进行通信,这次发送安全的CC信息+令牌(行程#2).根据对#2行程的响应,我会让用户知道他们的购买行为是什么.旅行2不应该需要我的Paypal UN/PW信息,因为它可以很容易地在客户端看到,我包括应该识别原始交易的SecureToken.根据我的解释,我认为不需要透明重定向.或者我在这里遗漏了什么?
另外,我想使用什么交易类型?为行程#1创建"授权",然后为行程#2创建"销售"?
所以这里是细节编码类型的东西: 对于我的研发测试,我正在建立自己的名称/值对参数字符串(见下文),并通过WebRequest通过他们的沙箱/测试网址(pilot-payflowpro.paypal)与网关服务器进行通信. COM).我得到了一个成功的回复和SECURETOKEN回来了.安全令牌的初始请求(如下所示)为TRXTYPE = A(授权),不发送卡信息.我想先授权吗?
以下是我的参数(也可能包括shipto信息,但未在下面列出):
USER=myAuthUserName
&VENDOR=myAuthUserName
&PARTNER=myPartner
&PWD=myPassword
&AMT=21.43
&BILLTOFIRSTNAME=FName
&BILLTOLASTNAME=LName
&BILLTOSTREET=123 Main Street
&BILLTOSTREET2=Apt 203B
&BILLTOCITY=MyCity
&BILLTOSTATE=CA
&BILLTOZIP=77777
&BILLTOPHONENUM=4444444444
&EMAIL=myemail@somedomain.com
&CURRENCY=USD
**&TRXTYPE=A**
&SILENTTRAN=TRUE
&CREATESECURETOKEN=Y
&SECURETOKENID=a99998afe2474b1b82c8214c0824df99
Run Code Online (Sandbox Code Playgroud)
正如我所说,我得到了一个成功的响应,并转到下一步发送安全数据(CC#,EXPDATE,安全代码).当我从params中删除我的UN/PW/VENDOR /合作伙伴信息时,由于无效的用户身份验证而出现错误.但是,看到我正在动态建立第二个电话,我不能在那里使用我的PayPal/pw.我错过了什么?有人提供上述此问题或其他问题的帮助吗?
如果我需要添加任何说明,请告诉我.在此先感谢您的时间!
我有一个MVC4项目,在客户端我需要重定向到一个特定的操作方法.我已阅读以下帖子如何从JavaScript方法重定向到操作?,还有一个关于使用的评论:
window.location.href = "/{controller}/{action}/{params}";
Run Code Online (Sandbox Code Playgroud)
我已经尝试过了,但是我的项目安装在IIS中的位置不起作用.
我的项目已发布到: http://localhost/SomeName.SomeOtherName/
我需要去: http://localhost/SomeName.SomeOtherName/Home/Logout
当我使用前一篇文章中推荐的'/ Controller/Action'时,我会到达这里:localhost/Home/Logout
这是不正确的.
我试图在web.config文件中保留已发布的位置(与上面的发布字符串相同)并构建字符串(连接:发布位置+'/ Home/logout'),但这也不起作用.以下是我正在使用的stmt.奇怪的是,这只是将当前页面的url与我构建的url连接起来.这不仅无效,而且我还得到其中一个"潜在危险的request.path ..."错误.
window.location.href = "\"" + url + "/Home/logout" + "\"";
Run Code Online (Sandbox Code Playgroud)
如果我使用$(location.hostname)来构建我的字符串,会发生同样的事情.
有什么想法吗?
所以,我在MVC 4应用程序中使用FineUploader 3.3,这是一个非常酷的插件,非常值得名义上的成本.感谢您构建这个,非常有用.现在,我只需要让它正常工作.
我对MVC很陌生,对于传回JSON绝对是新手,所以我需要一些帮助才能让它工作.以下是我正在使用的内容,全部都在doc.ready中.
var manualuploader = $('#files-upload').fineUploader({
request:
{
endpoint: '@Url.Action("UploadFile", "Survey")',
customHeaders: { Accept: 'application/json' },
params: {
//variables are populated outside of this code snippet
surveyInstanceId: (function () { return instance; }),
surveyItemResultId: (function () { return surveyItemResultId; }),
itemId: (function () { return itemId; }),
imageLoopCounter: (function () { return counter++; })
},
validation: {
allowedExtensions: ['jpeg', 'jpg', 'gif', 'png', 'bmp']
},
multiple: true,
text: {
uploadButton: '<i class="icon-plus icon-white"></i>Drop or Select Files'
},
callbacks: { …
Run Code Online (Sandbox Code Playgroud) 我有一个利用javascript捆绑的MVC 4项目.
在我的_Layout.cshtml
页面中,我有这样的事情:
@Scripts.Render("~/bundles/scripts/desktop/modernizr",
"~/bundles/scripts/desktop/jquery","~/bundles/scripts/desktop/jqueryui",
"~/bundles/scripts/desktop/jqueryvalidation", "~/bundles/scripts/custom")
Run Code Online (Sandbox Code Playgroud)
还有其他人,但这只是一个例子.在我在自定义脚本中调用的一个脚本中,我需要引用在ready函数中设置的全局变量,如下所示:
<script type="text/javascript">
$(function () {
//alert('Page is ready!');
var warning = 10;
var timeout = 20; }); </script>
Run Code Online (Sandbox Code Playgroud)
问题是,我总是在需要警告和超时变量的方法中得到错误.关于我应该如何创建这些变量,我是否遗漏了一些明显的东西(不是我!)我应该var
在外面$Ready
,因为在页面技术准备好之前js正在加载吗?
全局变量应该去哪里,如果所有内容都已经在渲染包中并且没有脚本块?
谢谢!
javascript ×2
action ×1
ajax ×1
asp.net-ajax ×1
callback ×1
complete ×1
json ×1
payflowpro ×1
paypal ×1
redirect ×1
render ×1
token ×1