Paypal 自适应支付 IPN 回调:如何返回完整未更改的 ipn 消息

     2023-02-22     221

关键词:

【中文标题】Paypal 自适应支付 IPN 回调:如何返回完整未更改的 ipn 消息【英文标题】:Paypal adaptive payments IPN callback: how to return the complete unaltered ipn message 【发布时间】:2013-04-23 14:17:09 【问题描述】:

我在市场(买家和卖家)工作,中间人从每次购买中分得一杯羹。我想让买家在购买按钮被重定向到 Paypal 后立即购买商品。这很好并且有效。

response = ADAPTIVE_GATEWAY.setup_purchase(
  :return_url => 'return_url',
  :cancel_url => 'cancel_url',
  :ipn_notification_url => 'ipn_notification_url',
  :receiver_list => recipients,
)
# ADAPTIVE_GATEWAY.set_payment_options(...)
redirect_to (ADAPTIVE_GATEWAY.redirect_url_for(response['payKey']))

下一步是使用 ipn 验证交易。我确实收到了 paypal 回调,但我不清楚应该返回什么?

def notify_cb
  notify = ActiveMerchant::Billing::Integrations::PaypalAdaptivePayment::Notification.new(request.raw_post)

  if notify.acknowledge
    update_attributes(
      :transaction_id => notify.transaction_id,
      :status => notify.status
    )
  end

  render :nothing => true # render nothing?!? RENDER_LINE
end

此处关于 SO 的大多数示例都没有渲染 (RENDER_LINE),而在 paypal 文档中,流程被描述为 (https://www.x.com/developers/paypal/documentation-tools/ipn/integration-guide/IPNIntro#protocol_and_arch):

IPN 协议由三个步骤组成:

    PayPal 向您的 IPN 侦听器发送一条消息,通知您该事件

    您的听众将完整的未更改消息发送回 PayPal;消息必须以相同的顺序包含相同的字段,并以与原始消息相同的方式进行编码

    PayPal 回送一个字,如果消息来自 PayPal,则该字已验证;如果与最初发送的内容有任何差异,则该字为无效

我的问题是如何将完整的未更改消息返回给 PayPal,或者我对流程的理解缺失/错误?

【问题讨论】:

【参考方案1】:

您是要回帖到https://sandbox.paypal.com/ 或https://www.sandbox.paypal.com/cgi-bin/webscr(或者包括“cmd=_notify-validate 作为 POST 数据的一部分,或者通过 GET 包括在内)?

前者返回 HTTP 301,因为您基本上是直接指向主页,而后者将直接指向托管 IPN 验证逻辑的页面。

【讨论】:

感谢 Robert 并深入研究 SO 和 Paypal 文档=_notify-validate 到最后帮助我得到了 INVALID/VERIFIED 3。根据activemerchant.rubyforge.org/classes/ActiveMerchant/Billing/…notify.acknowledge 实际上是向贝宝发帖

Paypal 自适应支付 - IPN 和成功的返回响应

】Paypal自适应支付-IPN和成功的返回响应【英文标题】:PaypalAdapativePayment-IPNandSuccessfulreturnresponse【发布时间】:2015-10-1817:46:24【问题描述】:我正在开发一个需要使用Paypal自适应付款的应用程序。我正在使用.netmvc框架和c#进行开... 查看详情

如何通过 IPN 使用 Paypal 自适应支付?

】如何通过IPN使用Paypal自适应支付?【英文标题】:HowtousePaypaladaptivepaymentswithIPN?【发布时间】:2012-05-0513:31:52【问题描述】:我正在使用Paypal的自适应支付系统。使用沙盒帐户,我能够发出PayRequest并被转发到Paypal进行付款。然... 查看详情

Paypal 自适应支付 IPN 费用信息

】Paypal自适应支付IPN费用信息【英文标题】:PaypalAdaptivePaymentIPNfeesinformation【发布时间】:2012-06-1000:54:19【问题描述】:所以,我不知道我是疯了还是怎么了,但对于我的一生,我无法弄清楚如何获得支付Paypal的费用金额。对于... 查看详情

paypal自适应支付IPN中的自定义字段

】paypal自适应支付IPN中的自定义字段【英文标题】:customfieldintheIPNofpaypaladaptivepayment【发布时间】:2011-08-2702:01:22【问题描述】:我已在我的网站中实施自适应支付。首先它是标准支付,所以我在表单中传递了一个custom参数,我... 查看详情

Paypal 自适应支付和 IPN

】Paypal自适应支付和IPN【英文标题】:PaypaladaptivepaymentsandIPN【发布时间】:2014-06-2313:28:36【问题描述】:我正在使用AngellEyelibrary使用Paypal自适应付款。除了IPN,一切都很好。在沙盒模式下使用Paypal时,我会收到一条通知到我的U... 查看详情

Paypal 自适应支付链式支付 IPN php

】Paypal自适应支付链式支付IPNphp【英文标题】:PaypalAdaptivePaymentsChainedPaymentIPNphp【发布时间】:2013-03-2008:23:38【问题描述】:我正在尝试将我的标准IPNpaypal付款调整为连锁付款,以将收到的付款分成多个接收方。是否可以通过向... 查看详情

自适应支付 paypal - 没有支付 api 操作的 pdt 数据

】自适应支付paypal-没有支付api操作的pdt数据【英文标题】:Adaptivepaymentspaypal-nopdtdataforpayapioperation【发布时间】:2013-07-0408:12:31【问题描述】:我正在使用自适应支付paypalpayapi操作来完成交易,我已经设置了ipn和returnurl.am成功地... 查看详情

自适应支付 IPN 交易 ID 未出现

...earing【发布时间】:2012-08-2103:07:17【问题描述】:我正在PayPal沙箱中测试自适应支付,IPN正在正确返回到我的网站,但我无法让交易ID出现,我希望在我的数据库中使用它,因为用户可以使用它重新下载媒体未来,或者如果他们... 查看详情

Paypal 自适应支付重定向 URL GET 变量

】Paypal自适应支付重定向URLGET变量【英文标题】:PaypalAdaptivePaymentRedirectURLGETVariables【发布时间】:2013-04-0116:09:51【问题描述】:到目前为止,我一直在使用PaypalPaymentsStandard,制作Paypal按钮,让我的客户可以在Paypal上付款,然后... 查看详情

隐式自适应支付不生成 IPN

...PaymentsAPI从一个帐户向另一个帐户汇款。我正在使用active_paypal_adaptive_paymentgem来简化一些事情。到目前为止,我的一切都按预期工作,但我的付款没有生成IPN。我隐含地发送付款 查看详情

贝宝自适应支付和ipn响应

】贝宝自适应支付和ipn响应【英文标题】:paypaladaptivepaymentsandipnresponse【发布时间】:2015-06-2906:57:54【问题描述】:我已经阅读了一些关于PayPal的自适应付款的信息。我正在考虑在网络应用程序中实现这种方法我正在开发。因此... 查看详情

PayPal IPN 不返回自定义字段

】PayPalIPN不返回自定义字段【英文标题】:PayPalIPNdoesn\'treturncustomfield【发布时间】:2014-04-1912:26:56【问题描述】:我正在使用PayPal在我的网站中实施支付系统。不幸的是,IPN似乎有问题。我有隐藏字段<inputtype="hidden"name="custom"... 查看详情

PayPal 自适应支付返回 URL 参数

】PayPal自适应支付返回URL参数【英文标题】:PayPalAdaptivePaymentsreturnURLparameters【发布时间】:2021-05-1005:15:54【问题描述】:我在PHP中使用PayPalAdaptivePayments(一种已弃用的集成方法)。在调用“支付”请求时,我总是习惯将返回URL... 查看详情

Paypal 自适应支付返回 url 调用了两次

】Paypal自适应支付返回url调用了两次【英文标题】:Paypaladaptivepaymentreturnurliscallingtwice【发布时间】:2013-04-2614:23:08【问题描述】:我已经实施了贝宝自适应支付方式并使用了网络流程。付款后,当我明确点击返回按钮时,返回u... 查看详情

我如何获得 Paypal 自适应支付支付响应

】我如何获得Paypal自适应支付支付响应【英文标题】:HowdoigetPaypalAdaptivepaymentpayresponse【发布时间】:2013-11-0307:01:35【问题描述】:我想为我的SpringWeb应用程序实现paypal自适应支付。我参考以下链接并实现流程https://developer.paypal.... 查看详情

PayPal 自适应支付 - returnUrl 显示在 Lightbox IFrame 中

】PayPal自适应支付-returnUrl显示在LightboxIFrame中【英文标题】:PayPalAdaptivePayments-returnUrldisplaysinLightboxIFrame【发布时间】:2012-06-1000:30:16【问题描述】:我正在使用PayPal的自适应付款“支付”方法。随着灯箱的出现和付款流程的完... 查看详情

从 cURL 支付向 paypal IPN 添加自定义变量

】从cURL支付向paypalIPN添加自定义变量【英文标题】:AddingcustomvariablestopaypalIPNfromacURLpayment【发布时间】:2014-02-2122:51:46【问题描述】:我的问题:设置将在IPN上返回的贝宝变量。所以背景:我正在使用CodeIgniter,并且正在使用我... 查看详情

Paypal IPN - 返回时自定义为空

】PaypalIPN-返回时自定义为空【英文标题】:PaypalIPN-customIsEmptywhenReturned【发布时间】:2014-01-0920:57:19【问题描述】:提前感谢您为我提供的任何帮助。我正在使用ASP.NETC#MVC4制作一个网站,用户将在该网站上支付某种游戏内货币... 查看详情