我在golang应用程序中使用logpacker软件包来使用Paypal进行信用卡交易,但它返回了我POST https://api.sandbox.paypal.com/v1/payments/payment: 500
错误
我的main.go文件具有以下代码::
package main
import (
paypalsdk "github.com/logpacker/PayPal-Go-SDK"
"fmt"
)
var ClientID = "my-client-id"
var SecretID = "my-secret-key"
func main() {
// Initialize client
c, err := paypalsdk.NewClient(ClientID, SecretID, paypalsdk.APIBaseSandBox)
if err != nil {
panic(err)
}
// Retrieve access token
_, err = c.GetAccessToken()
if err != nil {
panic(err)
}
// Create credit card payment
p := paypalsdk.Payment{
Intent: "sale",
Payer: &paypalsdk.Payer{
PaymentMethod: "credit_card",
FundingInstruments: []paypalsdk.FundingInstrument{{
CreditCard: &paypalsdk.CreditCard{
Number: "43118885805455",
Type: "visa",
ExpireMonth: "11",
ExpireYear: "2023",
CVV2: "123",
FirstName: "abc",
LastName: "abc",
},
}},
},
Transactions: []paypalsdk.Transaction{{
Amount: &paypalsdk.Amount{
Currency: "USD",
Total: "7.00",
},
Description: "My Payment",
}},
RedirectURLs: &paypalsdk.RedirectURLs{
ReturnURL: "http://...",
CancelURL: "http://...",
},
}
_, err = c.CreatePayment(p)
if err != nil {
fmt.Println(err)
}
//fmt.Println(data)
}
此后,我正在运行main.go文件,它会产生以下错误
错误:POST https://api.sandbox.paypal.com/v1/payments/payment: 500
这是一个logpacker软件包github链接:https://github.com/logpacker/PayPal-Go-SDK
答案 0 :(得分:1)
HTTP响应代码500 means "Internal Server Error":
服务器遇到意外情况,阻止其满足请求。
这意味着您的客户端成功发送了HTTP请求,但是服务器未能生成预期的响应,因为服务器本身发生了某些问题,并且系统所有者有责任对其进行修复。根本原因可能是多种原因(编程错误,数据库问题,网络问题,汽水罐洒在服务器主板上等);但是,调试信息存在于服务器基础结构上,通常(不应该!)不可用于客户端,因为它可能包含敏感信息。
可能是您的客户端发出的请求中存在问题,在这种情况下,服务器应以某种4xx "Client Error"响应来响应。但是,我们无法确定是否是这种情况,因为服务器无法生成有意义的响应。
您唯一的解决方法是与该系统的所有者联系,将其服务器上的错误通知他们,并希望他们解决该错误,以便您可以继续工作。