Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用paypal rest sdk消除验证错误?_Javascript_Node.js_Express_Paypal Sandbox - Fatal编程技术网

Javascript 如何使用paypal rest sdk消除验证错误?

Javascript 如何使用paypal rest sdk消除验证错误?,javascript,node.js,express,paypal-sandbox,Javascript,Node.js,Express,Paypal Sandbox,我正在使用贝宝RESTSDK来练习使用贝宝结账。我已经设置了一个小测试,每当我在表单中单击submit时,Chrome中就会出现“localhost拒绝连接”错误。我已关闭代理并清除了历史记录和缓存。我还仔细检查了我的客户和贝宝的密钥。我不确定我做错了什么。这是我的密码: app.js: const express=require('express'); const ejs=require('ejs'); const paypal=require('paypal-rest-sdk'); payp

我正在使用贝宝RESTSDK来练习使用贝宝结账。我已经设置了一个小测试,每当我在表单中单击submit时,Chrome中就会出现“localhost拒绝连接”错误。我已关闭代理并清除了历史记录和缓存。我还仔细检查了我的客户和贝宝的密钥。我不确定我做错了什么。这是我的密码:

app.js:

const express=require('express');
const ejs=require('ejs');
const paypal=require('paypal-rest-sdk');
paypal.configure({
'mode':'sandbox',//沙盒或live
“客户id”:“xxxxxxxx”,
“客户机密”:“xxxxxxx”
});
常量app=express();
应用程序集(“查看引擎”、“ejs”);
app.get('/',(req,res)=>res.render('index');
//使用订单详细信息为事务创建json obj
应用程序发布(“/pay”,(请求、回复)=>{
const create\u payment\u json={
“意图”:“出售”,
“付款人”:{
“付款方式”:“贝宝”
},
“重定向URL”:{
“返回url”:http://localhost:3000/success",
“取消url”:http://localhost:3000/cancel"
},
“交易”:[{
“项目清单”:{
“项目”:[{
“姓名”:“红袜队帽子”,
“sku”:“001”,
“价格”:“25.00”,
“货币”:“美元”,
“数量”:1
}]
},
“金额”:{
“货币”:“美元”,
“总计”:“1.00”
},
“说明”:“这是付款说明。”
}]
};
//传入我们创建的对象,现在创建实际付款
paypal.payment.create(创建付款,函数(错误,付款){
如果(错误){
console.log(错误);
投掷误差;
}否则{
console.log(“创建付款响应”);
控制台日志(支付);
res.send(“测试”);
}
});
});
app.listen(3000,()=>console.log('Server Started');
以下是终端从错误中输出的内容:

  response:
   { name: 'VALIDATION_ERROR',
     details: [ [Object] ],
     message: 'Invalid request - see details',
     information_link: 'https://developer.paypal.com/docs/api/payments/#errors',
     debug_id: 'fb61fe9c14b46',
     httpStatusCode: 400 },
  httpStatusCode: 400 }

我希望当支付路线呈现时,屏幕上会出现“test”消息,这样我就知道连接正常,但到目前为止,我得到的只是来自Chrome的“ERR\u connection\u denied”。请让我知道我做错了什么。提前感谢。

您的支付JSON缺少所需信息。 请参阅下面的有效付款JSON:

{
"intent": "sale",
"payer": {
    "payment_method": "paypal"
},
"redirect_urls": {
    "return_url": "http://www.example.com/return_url",
    "cancel_url": "http://www.example.com.br/cancel"
},
"transactions": [
    {
        "amount": {
            "currency": "USD",
            "total": "200.00",
            "details": {
                "shipping": "10.00",
                "subtotal": "190.00"
            }
        },
        "item_list": {
            "items": [
                {
                    "name": "Foto 1",
                    "currency": "USD",
                    "sku": "123",
                    "quantity": "1",
                    "price": "190.00"
                }
            ]
        },
        "description": "Payment description"
    }
]
}

谢谢,我一直在努力使用这个PayPal API,但效果很好。使用与此答案相同的JSON,也会出现错误。