【发布时间】:2021-11-21 11:27:54
【问题描述】:
我的网站上有一个贝宝结帐按钮以及资金图标。这是它的部分代码:
style: {
label: 'checkout',
fundingicons: true, // optional
size: 'responsive', // small | medium | large | responsive
shape: 'rect', // pill | rect
color: 'gold' // gold | blue | silver | black
},
payment: function (data, actions) {
return actions.payment.create({
payment: {
transactions: [
{
amount: {
total: amount,
currency: currency
},
invoice_number: '{$invoice}',
custom: '{$invoice}'
}
],
"redirect_urls": {
"return_url": , // these are both filled correctly
"cancel_url":
}
}
});
如您所见,发票字段是明确定义的,但是,当收到回发 IPN 消息时,我的 ipn.php 文件由于缺少发送给它的发票编号而失败。
更奇怪的是,每当 txn_type 是 express_checkout 时,发票就在那里,但当它是 web_accept 时,大多数时候,发票和 @987654325 都不是@ 字段正在通过(当 IPN 消息开始失败时,我添加了自定义字段)。
我们用于按钮的api是https://www.paypalobjects.com/api/checkout.js
是我遗漏了什么,还是只是 api 已被弃用,这是另一个需要切换的标志?
编辑:
在其他浏览器上对此进行测试后,adblock 似乎阻止了部分 checkout.js 依赖项的加载:
- 火狐:
Cross-Origin Request Blocked - 歌剧:
Failed to load resource: net::ERR_BLOCKED_BY_ADBLOCKER - 边缘:
POST https://www.paypal.com/xoplatform/logger/api/logger net::ERR_BLOCKED_BY_CLIENT
没有来自 chrome 的错误消息。
编辑 2:
web_accept 类型的示例 IPN
mc_gross=300.00&protection_eligibility=Ineligible&payer_id=SOMEREALID&
payment_date=11:32:11 Sep 27, 2021 PDT&payment_status=Completed&charset=windows-1252&
first_name=&mc_fee=9.00¬ify_version=3.9&custom=&payer_status=unverified&
business=our_business_email&quantity=1&
verify_sign=sign_in_alpha_numeric&
payer_email=random_alpha_numeric@dcc2.paypal.com&txn_id=1KM93595HU1361254&payment_type=instant&
last_name=NotProvided&receiver_email=same_as_business_email&payment_fee=&
shipping_discount=0.00&receiver_id=more_alpha_numeric&insurance_amount=0.00&
txn_type=web_accept&item_name=&discount=0.00&mc_currency=CAD&item_number=&
residence_country=OUR_COUNTRY_CODE&receipt_id=1111-1111-1111-1111&shipping_method=Default&
transaction_subject=&payment_gross=
【问题讨论】:
-
您确定那些
web_accept付款来自上述代码吗?最可能的解释是它们来自标准 HTML 按钮或链接 -
我们使用 paypal api 来创建 ipn 消息的唯一地方就是这里,我不认为他们可以来自其他任何地方
-
如果在 PayPal 账户中配置了 IPN 监听 URL,则该账户收到的任何付款都会触发 IPN 消息。
-
发布您收到的示例 web_accept IPN(保留任何 ID,但编辑掉个人身份数据)
标签: paypal paypal-ipn