go - 如何使用 logpacker 包 paypal 进行信用卡支付?
问题描述
我在 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
解决方案
HTTP 响应代码500 表示“内部服务器错误”:
服务器遇到了一个意外情况,导致它无法完成请求。
这意味着您的客户端成功发送了 HTTP 请求,但服务器未能生成预期的响应,因为服务器本身发生了一些问题,该系统的所有者有责任修复它。根本原因可能是很多事情(编程错误、数据库问题、网络问题、苏打水溅到服务器主板上等);但是,调试信息存在于服务器基础架构中,并且通常不(不应该!)对客户端可用,因为它可能包含敏感信息。
您的客户端发出的请求可能存在问题,在这种情况下,服务器应该以某种4xx“客户端错误”响应进行响应。但是,我们无法知道是否是这种情况,因为服务器未能生成有意义的响应。
您唯一的办法是联系该系统的所有者,将其服务器上的错误通知他们,并希望他们解决该问题,以便您可以继续工作。
推荐阅读
- html - 如何为占位符指定颜色
? - javascript - 将类切换到父组件 - React
- r - 从 r 的输出中提取回归系数
- excel - 条件格式的多条件公式(OUT OF MY ELEMENT HERE)
- bison - proto3-lexer3.c : 没有这样的文件或目录
- java - Docker 无法在没有 docker-compose 的情况下访问 jar 文件
- html - 嗨,谁能帮我完成我的 CSS 作业?
- javascript - 在 PHP 中增加会话变量的问题。它只增加一次
- azure-ad-b2c - Azure AD B2C - 具有 HRD、域提示和 MFA 的自定义策略
- javascript - 无需重新加载页面即可进行幻灯片放映