如何更改 PayPal 智能支付按钮的语言?
我当前的代码如下所示:
paypal.Buttons({
locale: 'en_US',
style: {
size: 'small',
color: 'gold',
shape: 'pill',
label: 'pay',
layout: 'horizontal',
fundingicons: 'false',
height: 46
}
}).render('#paypal-button-container');
Run Code Online (Sandbox Code Playgroud)
区域设置不会将语言更改为英语。
我正在使用 PayPal 订阅 API 和 php。
到目前为止,我知道付款成功后会触发 PAYMENT.SALE.COMPLETED 事件。但该对象仅包含计费协议 ID,似乎与订阅无关。我如何获得有关客户和付款的更多详细信息?
示例 webhook 的内容
{
"id": "WH-1J525465EH157100Y-81K24252LY536784P",
"create_time": "2021-03-10T18:22:33.292Z",
"resource_type": "sale",
"event_type": "PAYMENT.SALE.COMPLETED",
"summary": "Payment completed for EUR 5.0 EUR",
"resource": {
"billing_agreement_id": "I-8XRLDA4MNEW3",
"amount": {
"total": "5.00",
"currency": "EUR",
"details": {
"subtotal": "5.00"
}
},
"payment_mode": "INSTANT_TRANSFER",
"update_time": "2021-03-10T18:22:13Z",
"create_time": "2021-03-10T18:22:13Z",
"protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE",
"transaction_fee": {
"currency": "EUR",
"value": "0.45"
},
"protection_eligibility": "ELIGIBLE",
"links": [
{
"method": "GET",
"rel": "self",
"href": "https://api.sandbox.paypal.com/v1/payments/sale/1P642136UK709905M"
},
{
"method": "POST",
"rel": "refund",
"href": "https://api.sandbox.paypal.com/v1/payments/sale/1P642136UK709905M/refund"
} …Run Code Online (Sandbox Code Playgroud) 该问题简要说明:
当我的 Web 应用程序对 AWS Secrets Manager 进行 API 调用以获取密钥/数据时,我收到此 AWSSecretsManagerException AccessDenied。
更详细一点的问题:
我有一个部署到 AWS ElasticBeanstalk 的 Web 应用程序 war 文件。我在 AWS Amplify 上有一个前端 React 应用程序,它向 WAR 文件发出 HTTPS 请求。
作为处理此请求的一部分,Web 应用程序与 PayPal 的 API 接口。要成功请求使用 PayPal 的 API,我需要一个令牌。要获取该令牌,我的 Web 应用程序需要向 PayPal 发出请求,以通过发送我的PayPal Client ID和Secret key来获取该令牌。
为了不将其硬编码到应用程序中或使用纯文本格式的客户端 ID 和密钥拥有本地配置文件,我决定使用 AWS Secrets Manager 将它们存储在 AWS 中。要访问存储在我的应用程序中的密钥,我需要使用 AWS Secrets Manager SDK。我通过在我的 Web 应用程序 pom 文件中包含这个依赖来做到这一点。
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-secretsmanager</artifactId>
<version>1.11.700</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
然后,我添加了使用 AWS Secrets Manager SDK …
web-applications amazon-web-services amazon-elastic-beanstalk aws-secrets-manager
我正在使用PayPal-PHP-SDK访问 PayPal API。
我需要一个“数量(用户或席位)定价计划”,我正在遵循本指南:https : //developer.paypal.com/docs/subscriptions/integrate/。指南中的步骤包括这些 API 端点:
/v1/catalogs/products
/v1/billing/plans
/v1/billing/subscriptions
Run Code Online (Sandbox Code Playgroud)
我只找到了如何/v1/billing/plans使用 SDK创建计划(),但我不知道如何添加参数:"quantity_supported": true
我没有找到任何示例/样本/v1/catalogs/products, /v1/billing/subscriptions
可以用当前的 PayPal-PHP-SDK 完成吗?
我尝试使用 PayPal 智能按钮在网站上进行付款。
我首先创建了一个计划,获取了它的 ID,然后通过 API 和 PHP 中的 PayPal SDK 命令激活了它。
该计划似乎正在积极进行。
<script src="https://www.paypal.com/sdk/js?client-id=sb-key&vault=true&disable-funding=card"></script>
<script>
paypal.Buttons({
env: 'sandbox',
createSubscription: function(data, actions) {
return actions.subscription.create({
'plan_id': 'P-85G86700MN...223CGEJWTI'
});
},
onApprove: function(data, actions) {
alert('You have successfully created subscription ' + data.subscriptionID);
}
}).render('#paypal-button-container');
</script>
Run Code Online (Sandbox Code Playgroud)
当我点击 PayPal 按钮付款时。我收到此错误:RESOURCE_NOT_FOUND
我不知道这一切意味着什么,遇到同样问题的人也没有得到支持。
当我们尝试在我们的生产系统上处理 PayPal 付款时,我们刚刚开始收到以下错误。我们的系统最近没有更新,所以问题不是我们的代码库。
错误报告为:'''会员#pay_renewal 中发生 OpenSSL::SSL::SSLError:
SSL_connect 返回=1 errno=0 状态=错误:证书验证失败(无法获取本地颁发者证书)'''
我不知道从哪里开始。
该应用程序正在运行 Ruby on Rails v6.0.2,使用 paypal-sdk-rest gem (v 1.7.4),并在 Amazon EC2 Redhat 实例上运行。
我怀疑这与需要在我们的服务器上安装新证书有关。
我正在尝试将 Paypal 与 PHP 集成,但现在我收到以下消息:
“系统中未找到传入的令牌”
这是我的代码。我哪里错了?
这是我获取令牌的代码,我已成功获取该令牌。
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.sandbox.paypal.com/v1/oauth2/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_USERPWD => $PAYPAL_CLIENT_ID.":".$PAYPAL_SECRET,
CURLOPT_POSTFIELDS => "grant_type=client_credentials",
CURLOPT_HTTPHEADER => array(
"Accept: application/json",
"Accept-Language: en_US"
),
));
$result= curl_exec($curl);
$array=json_decode($result, true);
$token=$array['access_token'];
Run Code Online (Sandbox Code Playgroud)
在这里我尝试集成 v1/ payment API:
$ch = curl_init();
$data = '{
"intent": "sale",
"payer": {
"payment_method": "credit_card",
"payer_info": {
"email": "'.$email.'",
"shipping_address": {
"recipient_name": "'.$fname.' '.$lname.'",
"line1": …Run Code Online (Sandbox Code Playgroud) 我正在创建一个网络应用程序,我的客户将提供一个电子邮件地址,通过 PayPal 向他们的客户付款。问题是我的客户大多拥有个人账户,而不是企业账户。
我知道如何使用 API 创建按钮,但是我需要我的客户端的 client-id 来呈现它。对于商业来说,这很容易,我可以给出在哪里可以找到它的说明,但是对于个人呢?更好的是,可以通过编程方式完成吗?
https://www.paypal.com/sdk/js?client-id=[HOW DO I GET THIS FROM EMAIL ADDRESS ONLY]¤cy=USD&disable-funding=credit,card&locale=en_US
没有 react-paypal-button-v2 ~~~有 60KB 的开销
类似的问题在这里,但他们建议react-paypal-button-v2
我正在尝试制作一个 React PayPal 按钮来更改道具更改的账单金额。
我使用道具价格调用以下组件,每次价格更改时,我都想重新渲染按钮以更新实际价格。没有 react-paypal-button-v2
const PaypalForm = props => {
let paypalRef = useRef();
useEffect(() => {
window.paypal
.Buttons({
createOrder: (data, actions) => {
return actions.order.create({
purchase_units: [
{
description: "test",
amount: {
currency_code: "USD",
value: props.price
}
}
]
});
},
onApprove: async (data, actions) => {
const order = await actions.order.capture();
console.log(order);
},
onError: err => {
setError(err);
console.error(err);
}
})
.render(paypalRef.current);
}, [props.price]);
return ( …Run Code Online (Sandbox Code Playgroud)