javascript - Paypal 将自定义变量传递给订阅按钮
问题描述
我试图弄清楚在申请订阅我创建的网络服务时如何传递自定义变量;到目前为止,我在前端的代码如下所示:
const createSubscription = (data, actions) => {
return actions.subscription.create({
'plan_id': 'P-XXXXXXXXXXX',
"custom": "This is data from custom field",
"custom_id": "This is data from custom_id field"
});
};
但是当我的客户被批准时,IPN 向我的后端服务器发送通知,没有custom_id
或根本没有字段custom
:
{
mc_gross: '100.00',
outstanding_balance: '0.00',
period_type: ' Regular',
next_payment_date: '03:00:00 Mar 17, 2021 PDT',
protection_eligibility: 'Eligible',
payment_cycle: 'Monthly',
address_status: 'confirmed',
tax: '0.00',
payer_id: 'HXRWYDXHYFZN8',
address_street: '1 Main St',
payment_date: '10:45:14 Feb 17, 2021 PST',
payment_status: 'Completed',
product_name: 'Monthly Plan',
charset: 'UTF-8',
recurring_payment_id: 'I-F2C2YTJU2E1U',
address_zip: '95131',
first_name: 'John',
mc_fee: '3.20',
address_country_code: 'US',
address_name: 'John Doe',
notify_version: '3.9',
amount_per_cycle: '100.00',
payer_status: 'verified',
currency_code: 'USD',
business: 'sb-w7647v5112246@business.example.com',
address_country: 'United States',
address_city: 'San Jose',
verify_sign: 'AwvhmU0vP2FlU28Jc6pBhDPQLGvKAuK1SbOO3rAWZruMDt8v8SJ',
payer_email: 'sb-oettb5109886@personal.example.com',
initial_payment_amount: '0.00',
profile_status: 'Active',
amount: '100.00',
txn_id: '7M8958705N109551P',
payment_type: 'instant',
last_name: 'Doe',
address_state: 'CA',
receiver_email: 'sb-w7647v5112246@business.example.com',
payment_fee: '3.20',
receiver_id: '5CCP2BYDNEBQE',
txn_type: 'recurring_payment',
mc_currency: 'USD',
residence_country: 'US',
test_ipn: '1',
transaction_subject: 'Monthly Plan',
payment_gross: '100.00',
shipping: '0.00',
product_type: '1',
time_created: '10:44:22 Feb 17, 2021 PST',
ipn_track_id: 'bee6f9133b8f'
}
有没有办法传递一些额外的信息,以便我可以更新我的后端记录?
PS。请注意,这createSubscription
不是createOrder
或类似的东西。
解决方案
custom_id
是正确的值您可能只会在webhook 事件通知中收到它,而不是 IPN(这是一项非常古老的服务,不打算与当前 API 一起使用)
最好的解决方案是从您的服务器创建和激活订阅。这里的答案和它链接的其他答案有一些信息。
推荐阅读
- spring-boot - Spring-boot - Docker Compose - 服务就绪
- asp.net-core - 长时间运行请求的 Net Core cookie 滑动过期问题
- javascript - 如何从 html 的下拉菜单中删除重复的选项?
- django - 已部署 Django (IIS),记录问题
- r - 计算三个列表中的数字并生成一个大列表
- mariadb-10.5 - MariaDB 10.5.5 数据库在 mysqldump 之后非常慢
- java - spring data @query 和 projection 应该只选择需要的字段,但情况并非如此
- ruby-on-rails - Rails Postgres fe_sendauth:没有提供密码错误
- blazor - Blazor IL 修剪(几乎)没有结果
- outlook - 使用 php 将会议邀请发送到 Outlook 房间