Go 如何使用logpacker package paypal进行信用卡支付?
我正在使用golang应用程序中的logpacker软件包使用paypal进行信用卡交易,但它返回我Go 如何使用logpacker package paypal进行信用卡支付?,go,paypal,Go,Paypal,我正在使用golang应用程序中的logpacker软件包使用paypal进行信用卡交易,但它返回我POSThttps://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"
POSThttps://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文件,它生成以下错误
错误:POSThttps://api.sandbox.paypal.com/v1/payments/payment: 500
这是一个logpacker包github链接:HTTP响应代码:
服务器遇到意外情况,无法满足请求
这意味着您的客户端成功地发送了HTTP请求,但服务器未能生成预期的响应,因为服务器本身发生了一些问题,系统所有者有责任修复这些问题。根本原因可能是很多事情(编程错误、数据库问题、网络问题、服务器主板上的苏打水溢出等);但是,调试信息存在于服务器基础结构上,并且通常不(不应该!)对客户端可用,因为它可能包含敏感信息
您的客户机发出的请求可能有问题,在这种情况下,服务器应该以某种响应进行响应。但是,我们无法知道情况是否如此,因为服务器未能生成有意义的响应
您唯一的办法是联系该系统的所有者,将其服务器上的错误通知他们,并希望他们解决此问题,以便您可以继续工作。请注意,也就是说,远程web服务器出现了一些错误(而非您的客户端),它可能不会告诉您发生了什么(可能是出于安全原因)但主要是因为这不是你的错,你可能对此无能为力。如果我在没有golang应用程序的情况下使用postman成功创建了付款,你能建议我创建付款后如何获得付款批准吗?我会联系软件包开发人员,请他们添加更详细的错误信息。他们似乎可以在响应正文中使用它,但他们似乎将其丢弃。@MichaelHampton最好不要在500 ISE响应中提供任何调试信息,因为这是一个服务器错误(即,向客户端报告数据库连接失败、编程错误等情况会很糟糕)。贝宝需要把他们的房子整理好。@maerics你假设(1)这实际上是一个内部服务器错误,(2)没有进一步的信息。我怀疑两者都不是真的。但是,如果不看完整的回答,就不可能确定。