【问题标题】:Integration to paypal at local server在本地服务器上与贝宝集成
【发布时间】:2019-06-29 15:19:28
【问题描述】:

在 laravel 5.8 应用程序中,我使用 paypal/rest-api-sdk-php 与 paypal 集成 我做为:

// Set up a payment
payment: function(data, actions) {
    return actions.payment.create({

    return_urls : {
        return_url : 'http://local-votes.com/paypal_payment'
    },

    transactions: [{
        amount: {
        total: '0.01',
        currency: 'USD'
        }
    }]
    });
},
// Execute the payment

如果 return_urls 取消注释我在控制台中收到错误:

VM19:1 POST https://www.sandbox.paypal.com/v1/payments/payment 400 (Bad Request)
(anonymous) @ VM19:1
(anonymous) @ http.js:147
ZalgoPromise @ promise.js:41
request @ http.js:48
(anonymous) @ rest.js:243
_loop @ promise.js:162
_proto.dispatch @ promise.js:153
_proto.then @ promise.js:242
(anonymous) @ rest.js:225
_loop @ promise.js:162
_proto.dispatch @ promise.js:153
_proto.then @ promise.js:242
(anonymous) @ rest.js:217
_loop @ promise.js:162
_proto.dispatch @ promise.js:153
_proto.resolve @ promise.js:96
_loop @ promise.js:213
_proto.dispatch @ promise.js:153
_proto.resolve @ promise.js:96
(anonymous) @ promise.js:43
(anonymous) @ http.js:117
load (async)
(anonymous) @ http.js:78
ZalgoPromise @ promise.js:41
request @ http.js:48
Object.time @ rest.js:37
(anonymous) @ util.js:54
createPayment @ rest.js:209
(anonymous) @ serialize.js:34
ZalgoPromise.try @ promise.js:401
(anonymous) @ serialize.js:33
(anonymous) @ types.js:68
ZalgoPromise.try @ promise.js:401
_RECEIVE_MESSAGE_TYPE.(anonymous function) @ types.js:56
receiveMessage @ index.js:114
messageListener @ index.js:140
serialize.js:175 Uncaught Error: Error: Request to post https://www.sandbox.paypal.com/v1/payments/payment failed with 400 error. Correlation id: 987ea0c89740a, 987ea0c89740a

{
    "name": "MALFORMED_REQUEST",
    "message": "Incoming JSON request does not map to API request",
    "information_link": "https://developer.paypal.com/webapps/developer/docs/api/#MALFORMED_REQUEST",
    "debug_id": "987ea0c89740a"
}

    at XMLHttpRequest.<anonymous> (http.js:114)
    at Object._RECEIVE_MESSAGE_TYPE.(anonymous function) [as postrobot_message_response] (https://www.paypalobjects.com/api/checkout.js:4206:27)
    at receiveMessage (index.js:114)
    at messageListener (index.js:140)
    at Object._RECEIVE_MESSAGE_TYPE.(anonymous function) [as postrobot_message_response] (https://www.paypalobjects.com/api/checkout.js:4206:27)
    at receiveMessage (index.js:114)
    at messageListener (index.js:140)
    at serialize.js:175
    at serialize.js:212
    at util.js:140
    at util.js:102
    at util.js:116
    at replaceObject (util.js:138)
    at util.js:147
    at util.js:109
    at util.js:118
    at replaceObject (util.js:138)

http://local-votes.com 是我的本地主机 LAMP/Ubuntu 18

如果评论 return_urls 付款正常,但我没有付款退货操作。 如果有办法在本地使用它。看一些示例代码,看起来这是可能的......

修改:

我在我的托管和托管页面下上传了应用程序 https://www.mysite/test

我重做了paypal支付功能,为

                            payment: function(data, actions) {
                                return actions.payment.create({

                                    return_urls : {
                                        return_url : 'https://mysite/paypal_payment' 
                                    },

                                    transactions: [{
                                        amount: {
                                            total: '0.01',
                                            currency: 'USD'
                                        }
                                    }]
                                });
                            },

我希望它是在 https 下的远程托管,它会工作,但无论如何我得到了 JS 错误:

VM19:1 POST https://www.sandbox.paypal.com/v1/payments/payment 400 (Bad Request)
(anonymous) @ VM19:1
(anonymous) @ http.js:147
ZalgoPromise @ promise.js:41
request @ http.js:48
(anonymous) @ rest.js:243
_loop @ promise.js:162
_proto.dispatch @ promise.js:153
_proto.then @ promise.js:242
(anonymous) @ rest.js:225
_loop @ promise.js:162
_proto.dispatch @ promise.js:153
_proto.then @ promise.js:242
(anonymous) @ rest.js:217
_loop @ promise.js:162
_proto.dispatch @ promise.js:153
_proto.resolve @ promise.js:96
_loop @ promise.js:213
_proto.dispatch @ promise.js:153
_proto.resolve @ promise.js:96
(anonymous) @ promise.js:43
(anonymous) @ http.js:117
load (async)
(anonymous) @ http.js:78
ZalgoPromise @ promise.js:41
request @ http.js:48
Object.time @ rest.js:37
(anonymous) @ util.js:54
createPayment @ rest.js:209
(anonymous) @ serialize.js:34
ZalgoPromise.try @ promise.js:401
(anonymous) @ serialize.js:33
(anonymous) @ types.js:68
ZalgoPromise.try @ promise.js:401
_RECEIVE_MESSAGE_TYPE.(anonymous function) @ types.js:56
receiveMessage @ index.js:114
messageListener @ index.js:140
serialize.js:175 Uncaught Error: Error: Request to post https://www.sandbox.paypal.com/v1/payments/payment failed with 400 error. Correlation id: 216d1df6b8ce, 216d1df6b8ce

{
    "name": "MALFORMED_REQUEST",
    "message": "Incoming JSON request does not map to API request",
    "information_link": "https://developer.paypal.com/webapps/developer/docs/api/#MALFORMED_REQUEST",
    "debug_id": "216d1df6b8ce"
}

    at XMLHttpRequest.<anonymous> (http.js:114)
    at Object._RECEIVE_MESSAGE_TYPE.(anonymous function) [as postrobot_message_response] (https://www.paypalobjects.com/api/checkout.js:4206:27)
    at receiveMessage (index.js:114)
    at messageListener (index.js:140)
    at Object._RECEIVE_MESSAGE_TYPE.(anonymous function) [as postrobot_message_response] (https://www.paypalobjects.com/api/checkout.js:4206:27)
    at receiveMessage (index.js:114)
    at messageListener (index.js:140)
    at serialize.js:175
    at serialize.js:212
    at util.js:140
    at util.js:102
    at util.js:116
    at replaceObject (util.js:138)
    at util.js:147
    at util.js:109
    at util.js:118
    at replaceObject (util.js:138)



Why error and how to fix it ?

【问题讨论】:

  • 请看已修改
  • 本地服务是否可以从外部访问?
  • 不,但在 MODIFIED 块中,我描述了在我的 Digital Ocean Server(ubuntu 18) 上应用应用程序后出现的错误

标签: javascript laravel-5 paypal-sandbox


【解决方案1】:

有效的语法是:

return actions.payment.create({

redirect_urls : {
    return_url : 'https://www.mysite/paypal_payment',
    cancel_url : 'https://www.mysite/paypal_payment_cancel'
},

修复了错误

【讨论】:

    猜你喜欢
    • 2018-02-02
    • 2021-02-07
    • 2021-08-11
    • 2012-05-21
    • 2015-12-19
    • 2021-04-06
    • 2012-07-20
    • 2016-07-18
    • 2014-07-03
    相关资源
    最近更新 更多