PayPal Go SDK 使用教程
paypalGolang client for PayPal REST API项目地址:https://gitcode.com/gh_mirrors/pay/paypal
1. 项目的目录结构及介绍
paypal/
├── examples/
│ ├── create-payment.go
│ ├── execute-payment.go
│ └── ...
├── paypal/
│ ├── client.go
│ ├── payment.go
│ └── ...
├── .gitignore
├── go.mod
├── go.sum
├── LICENSE
└── README.md
目录结构说明
- examples/: 包含使用 PayPal Go SDK 的示例代码,如创建支付、执行支付等。
- paypal/: 包含 SDK 的核心代码,如客户端、支付处理等。
- .gitignore: Git 忽略文件,指定哪些文件或目录不需要被版本控制。
- go.mod: Go 模块文件,定义项目的依赖关系。
- go.sum: Go 模块文件,记录依赖包的校验和。
- LICENSE: 项目的开源许可证。
- README.md: 项目的介绍文档。
2. 项目的启动文件介绍
在 examples/
目录下,每个示例文件都可以作为项目的启动文件。例如,create-payment.go
文件展示了如何使用 PayPal Go SDK 创建支付。
create-payment.go
文件介绍
package main
import (
"fmt"
"log"
"os"
"github.com/plutov/paypal/v4"
)
func main() {
c, err := paypal.NewClient(os.Getenv("PAYPAL_CLIENT_ID"), os.Getenv("PAYPAL_CLIENT_SECRET"), paypal.APIBaseSandBox)
if err != nil {
log.Fatal(err)
}
payment, err := c.CreatePayment(paypal.PaymentRequest{
Intent: "sale",
Payer: &paypal.Payer{
PaymentMethod: "paypal",
},
Transactions: []paypal.Transaction{
{
Amount: &paypal.Amount{
Total: "10.00",
Currency: "USD",
},
Description: "Test Payment",
},
},
RedirectURLs: &paypal.RedirectURLs{
ReturnURL: "http://example.com/return",
CancelURL: "http://example.com/cancel",
},
})
if err != nil {
log.Fatal(err)
}
fmt.Println("Payment ID:", payment.ID)
}
启动文件说明
main
函数: 程序的入口点,初始化 PayPal 客户端并创建支付。paypal.NewClient
: 创建 PayPal 客户端实例,需要传入客户端 ID、客户端密钥和 API 基础地址。c.CreatePayment
: 创建支付请求,定义支付的详细信息,如金额、货币、描述等。
3. 项目的配置文件介绍
在 examples/
目录下的示例文件中,配置信息通常通过环境变量传递给 PayPal 客户端。
配置文件示例
# .env 文件
PAYPAL_CLIENT_ID=your_client_id
PAYPAL_CLIENT_SECRET=your_client_secret
配置文件说明
PAYPAL_CLIENT_ID
: PayPal 客户端 ID,用于身份验证。PAYPAL_CLIENT_SECRET
: PayPal 客户端密钥,用于身份验证。
加载配置文件
在启动文件中,可以通过以下方式加载配置文件:
import (
"os"
"github.com/joho/godotenv"
)
func init() {
err := godotenv.Load()
if err != nil {
log.Fatal("Error loading .env file")
}
}
配置文件加载说明
godotenv.Load()
: 加载.env
文件中的环境变量。os.Getenv("PAYPAL_CLIENT_ID")
: 获取环境变量中的 PayPal 客户端 ID。
通过以上步骤,您可以成功配置并启动 PayPal Go SDK 项目。
paypalGolang client for PayPal REST API项目地址:https://gitcode.com/gh_mirrors/pay/paypal