📅  最后修改于: 2023-12-03 14:45:05.873000             🧑  作者: Mango
PayPal SDK (Software Development Kit)是一个软件开发工具包,为开发人员提供了使用 PayPal 进行支付和管理商户账户的功能。
PayPal SDK 支持多个编程语言,包括:
PayPal SDK 提供的功能包括:
使用 PayPal SDK,你需要在你的项目中安装它的库。以下是针对每个支持的编程语言的说明:
使用 Composer,执行以下命令以安装 PayPal 的 PHP SDK:
composer require paypal/rest-api-sdk-php
在命令行终端(控制台)中运行以下命令以安装 PayPal 的 Python SDK:
pip install paypalrestsdk
将以下依赖项添加到 pom.xml 文件中:
<dependency>
<groupId>com.paypal.sdk</groupId>
<artifactId>rest-api-sdk</artifactId>
<version>LATEST</version>
</dependency>
在命令行终端中运行以下命令以安装 PayPal 的 Node.js SDK:
npm install paypal-rest-sdk --save
添加以下 gem 到你的 Gemfile:
gem 'paypal-sdk-rest'
以下是使用 PayPal SDK 进行支付的示例:
require __DIR__ . '/vendor/autoload.php';
$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
'CLIENT_ID', // PayPal分配的客户端ID
'CLIENT_SECRET' // PayPal分配的客户端秘钥
)
);
$payment = new \PayPal\Api\Payment();
$payment->setIntent('sale')
->setPayer(
new \PayPal\Api\Payer(
array(
'payment_method' => 'paypal'
)
)
)
->setRedirectUrls(
new \PayPal\Api\RedirectUrls(
array(
'return_url' => 'http://example.com/success',
'cancel_url' => 'http://example.com/cancel'
)
)
)
->setTransactions(
array(
new \PayPal\Api\Transaction(
array(
'amount' => array(
'total' => '7.47',
'currency' => 'USD'
)
)
)
)
);
try {
$payment->create($apiContext);
header('Location: ' . $payment->getApprovalLink());
} catch (Exception $ex) {
// 处理异常
}
import paypalrestsdk
paypalrestsdk.configure({
'mode': 'sandbox', # sandbox 或 live
'client_id': 'CLIENT_ID',
'client_secret': 'CLIENT_SECRET'
})
payment = paypalrestsdk.Payment({
'intent': 'sale',
'payer': {
'payment_method': 'paypal'
},
'redirect_urls': {
'return_url': 'http://example.com/success',
'cancel_url': 'http://example.com/cancel'
},
'transactions': [{
'amount': {
'total': '7.47',
'currency': 'USD'
}
}]
})
if payment.create():
for link in payment.links:
if link.method == 'REDIRECT':
redirect_url = str(link.href)
# 使用 redirect_url 来重定向到 PayPal 登录页
else:
# 记录错误日志
import com.paypal.api.payments.*;
import com.paypal.base.rest.*;
APIContext apiContext = new APIContext(
new OAuthTokenCredential(
"CLIENT_ID", // PayPal分配的客户端ID
"CLIENT_SECRET" // PayPal分配的客户端秘钥
).getAccessToken()
);
Payment payment = new Payment();
payment.setIntent("sale")
.setPayer(new Payer().setPaymentMethod("paypal"))
.setRedirectUrls(new RedirectUrls()
.setReturnUrl("http://example.com/success")
.setCancelUrl("http://example.com/cancel"))
.setTransactions(Arrays.asList(
new Transaction().setAmount(
new Amount().setTotal("7.47").setCurrency("USD")
)
));
try {
payment.create(apiContext);
for (Links link : payment.getLinks()) {
if (link.getRel().equals("approval_url")) {
String redirectUrl = link.getHref();
// 使用 redirectUrl 来重定向到 PayPal 登录页
}
}
} catch (PayPalRESTException e) {
// 记录错误日志
}
const paypal = require('paypal-rest-sdk');
paypal.configure({
mode: 'sandbox', // sandbox 或 live
client_id: 'CLIENT_ID',
client_secret: 'CLIENT_SECRET'
});
paypal.payment.create({
intent: 'sale',
payer: {
payment_method: 'paypal'
},
redirect_urls: {
return_url: 'http://example.com/success',
cancel_url: 'http://example.com/cancel'
},
transactions: [
{
amount: {
total: '7.47',
currency: 'USD'
}
}
]
}, (error, payment) => {
if (error) {
// 记录错误日志
} else {
for (let link of payment.links) {
if (link.method === 'REDIRECT') {
const redirectUrl = link.href;
// 使用 redirectUrl 来重定向到 PayPal 登录页
}
}
}
});
require 'paypal-sdk-rest'
PayPal::SDK.configure(
mode: 'sandbox', # sandbox 或 live
client_id: 'CLIENT_ID',
client_secret: 'CLIENT_SECRET'
)
payment = PayPal::SDK::REST::DataTypes::Payment.new({
intent: 'sale',
payer: { payment_method: 'paypal' },
redirect_urls: {
return_url: 'http://example.com/success',
cancel_url: 'http://example.com/cancel'
},
transactions: [
{
amount: { total: '7.47', currency: 'USD' }
}
]
})
if payment.create
payment.links.each do |link|
if link.rel == 'approval_url'
redirect_url = link.href
# 使用 redirect_url 来重定向到 PayPal 登录页
end
end
else
# 记录错误日志
end
使用 PayPal SDK,你可以轻松地实现 PayPal 支付和管理商户账户的功能。这个工具包对于在 Web 应用程序和其他应用程序中集成 PayPal(或 PayPal 混合付款)的开发人员来说是非常有用的。