使用 angularjs 发送到贝宝
Posted
技术标签:
【中文标题】使用 angularjs 发送到贝宝【英文标题】:Send to paypal using angularjs 【发布时间】:2016-09-08 08:42:01 【问题描述】:嗨,我是 angularjs 的初学者,我想在 angularjs 中转换这个请求 curl ?
curl https://api-3t.sandbox.paypal.com/nvp
--insecure \
-d METHOD=name \
-d VERSION=XX.0 \
-d USER=API-Username \
-d PWD=API-Password \
-d SIGNATURE=API-Signature \
-d ...
我使用这样的 $http :
$http(
url: 'https://api-3t.sandbox.paypal.com/nvp',
method: 'POST',
headers:
'Content-Type': 'application/json',
,
data:
'USER=bjaoui.rimaggggggg-.......gmail.com',
'PWD=tgttgtg....',
'SIGNATURE=AFcWxVyyyyyyy',
'METHOD=SetExpressCheckout',
'VERSION=112.0',
'PAYMENTREQUEST_0_PAYMENTACTION=SALE',
'PAYMENTREQUEST_0_AMT=19',
'PAYMENTREQUEST_0_CURRENCYCODE=USD',
'cancelUrl=http://www.example.com/cancel.html',
'returnUrl=http://www.example.com/success.html',
).success(function (data, status, headers, config)
console.log(data);
).error(function (error)
//console.log(data);
alert("error:"+JSON.stringify(error));
);
但我发现数据的语法总是错误。有什么问题请帮忙
【问题讨论】:
意识到使用$http
这样做会将您的Paypal username
、password
、api-signature
等公开给全世界。
请看我编辑我的问题@EdSF
请阅读并理解之前的评论。 不要与任何人分享您的凭据信息。存放在访问受限的安全位置。 Creating and managing NVP/SOAP API credentials
【参考方案1】:
您的 NVP 请求中似乎缺少 &。最终结果应该是这样的
USER=something&PWD=something&SIGNATURE=...
看起来你的最终会没有 &'s,所以 API 系统根本无法判断你正在发送 METHOD。
【讨论】:
以上是关于使用 angularjs 发送到贝宝的主要内容,如果未能解决你的问题,请参考以下文章