标签: paypal-ipn

PayPal IPN - 如果响应无效,要发回什么 http 状态标头?

我正在改进 PayPal IPN 侦听器。我已阅读规格,但仍有一些悬而未决的问题。众所周知,如果您收到通知,您必须在第二个通道上连接到 PayPal,向他们发送收到的数据,PayPal 将回答“已验证”或“无效”。在某些情况下,PayPal 会重新发送通知,直到收到我们的答复。PayPal 有一个名为“IPN History”的调试页面。

我至少有一次收到无效消息,而“IPN 历史记录”显示正常状态“已发送”。

问题 1:PayPal 不检查我是否在第二个通道上连接到他们来确定消息是否正确发送,这是否正确?

Q2:我假设 PayPal 只查看从我们这里收到的 http 状态标头(例如“200 OK”)来决定在“IPN 历史记录”中显示什么状态。它是否正确?

Q3:我还假设 PayPal 仅查看 http 状态标头来决定是否必须重新发送消息。那是对的吗?

我收到的无效 PayPal 付款现在在 PayPal 中显示为正常付款。但随后并没有进一步的通知。

问题 4:我认为此行为是 PayPal 内部问题,正确的方法是告诉 PayPal 有错误,以便它在 5 分钟后发送另一个通知。那是对的吗?

问题 5:如果是这样,如果我收到 INVALID,我必须将什么 http 状态标头发送回 PayPal,以确保 PayPal 稍后重新发送通知?

谢谢!

paypal paypal-ipn

3
推荐指数
1
解决办法
1445
查看次数

用于检索交易详细信息的 PayPal PDT URL 是什么?

我正在PayPal 中设置付款数据传输 (PDT)

  • 购买后,PayPal 会将用户重定向到我的退货页面,并且我拥有tx来自 URL的参数。
  • 我也有我的unique PDT token来自 PayPal 个人资料设置页面。

文档说下一步(图中的第 3 步)是:

您的返回 URL 网页包含一个 HTML POST 表单,用于检索交易 ID 并将交易 ID 和您的唯一 PDT 令牌发送到 PayPal。

在此处输入图片说明

没关系。

但是,我将这些数据发布到哪个 PayPal URL 以检索交易详细信息?我使用什么形式/参数名称?

我已经阅读了PayPal 文档站点上的多个页面,但找不到任何对此 PDT URL 的引用!?

paypal paypal-ipn

3
推荐指数
1
解决办法
952
查看次数

在哪里输入paypal IPN url以及如何传递自定义数据?

这似乎是一组很幼稚的问题,但我真的找不到。

问题 1)我正在尝试为 PayPal 实施 IPN。我想输入侦听器 URL,但找不到位置。我在互联网上搜索过,所有的回答都很旧。我可以把它放在哪里?

问题 2)我正在使用以下代码,我想传递自定义数据,以便当 IPN 向我发送回交易消息时,它会包含该自定义数据。我需要传递 2 个自定义数据。下面的代码怎么可能呢?我真的在文档中也找不到这个。

<template>
  <div id="paypal-button-container"></div>
</template>

<script>
export default {
  props: ["amount"],
  mounted() {
    let self = this;
    paypal
      .Buttons({
        createOrder: function(data, actions) {
          // Set up the transaction
          return actions.order.create({
            purchase_units: [
              {
                amount: {
                  value: self.amount,
                }
              }
            ],
          });
        },
        onApprove: function(data, actions) {
          // Capture the funds from the transaction
          return actions.order.capture().then(function(details) {
            // Show a success message to your buyer
            console.log(details);
            self.$emit("paypalPaySuccess", …
Run Code Online (Sandbox Code Playgroud)

paypal paypal-sandbox paypal-ipn

3
推荐指数
1
解决办法
590
查看次数

使用Paypal IPN识别独特的个人资料

我对Paypal的IPN有疑问.创建订阅配置文件(定期付款配置文件)后,在IPN上收到"recurring_payment_profile_created"类型的确认.在继续付款后,在IPN上收到"recurring_payment"类型的确认.问题是我应该如何确定付款(recurring_payment)属于唯一(特定)配置文件.

谢谢.

paypal recurring paypal-ipn

2
推荐指数
1
解决办法
614
查看次数

如何使paypal按钮字段'必需'?

我使用贝宝按钮生成器创建了一个立即付款按钮.

该按钮有2个字段,然后您立即按下付款.

但是,如果您将这些字段留空,您仍然可以付款

我想让这些字段"必填",如果用户没有填写这些字段,他应该无法付款.怎么样?

该按钮不在paypal上托管,但按钮保护为ON.我希望按钮被加密.

编辑

我试过javascript表单验证,没有用,有什么帮助吗?

这是脚本

<form
action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<table>
<tr><td><input type="hidden" name="on0" value="first form">form 1</td></tr><tr><td><input type="text" name="os0" maxlength="200"></td></tr>
<tr><td><input type="hidden" name="on1" value="2nd form">2nd form</td></tr><tr><td><input type="text" name="os1" maxlength="200"></td></tr>
</table>
<input type="hidden" name="encrypted" value=" encryption here ">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
Run Code Online (Sandbox Code Playgroud)

有什么帮助需要这些领域吗?我会给你3张投票,因为我有3个stackoverflow帐户和一个接受的答案 - 这是我能做的最少:)

PS

我无法进行表单验证工作,所以我试图隐藏提交按钮,除非表单已填写,到目前为止,这不起作用.

更新 - @Last Rose Studios

我尝试了很多验证方法,最后我使用了我朋友的联系表格验证lol

validation.js

function has_id(id){try{var tmp=document.getElementById(id).value;}catch(e){return …
Run Code Online (Sandbox Code Playgroud)

paypal paypal-subscriptions paypal-sandbox paypal-ipn

2
推荐指数
1
解决办法
5095
查看次数

Paypal定期付款是否具有独特的txn_ids?

我正在使用Paypal"订阅"按钮.我有一个IPN处理程序,总的来说我觉得我已经弄明白了.我的最后一个问题是,显然没有好方法来测试定期付款(除了等待周期发生).这个问题在这里讨论:[问题]:测试Paypal订阅IPN

我真的不需要测试这种定期付款,但我确实需要知道每个定期付款是否都有自己的txn_id,或者订阅中的每笔付款是否共享相同的ID.

谢谢!

paypal paypal-subscriptions paypal-ipn

2
推荐指数
1
解决办法
833
查看次数

PayPal IPN错误和自定义端口IPN URL

我的IPN URL是http://:85 /它有一个自定义端口.这个网址工作正常,但paypal总是在模拟器上给我错误,而不是在付款时调用我的IPN.

会导致这个问题的原因是什么?

php codeigniter paypal paypal-ipn

2
推荐指数
1
解决办法
1733
查看次数

PayPal IPN通知中未显示的日文字符

在PayPal(沙盒)中,我定义了一个日语用户,其名字和姓氏带有日文字符.

但是,我收到的IPN通知使用charset = windows-1252进行编码.实际上,这是从Paypal收到的HTTP请求中的参数之一.

我想用他/她的名字问候用户,但由于我似乎收到的不是Unicode,我会发送垃圾字符而不是付款人姓名.

有没有办法让Paypal的IPN通知以Unicode发送给我的监听器?

paypal-ipn

2
推荐指数
1
解决办法
447
查看次数

PayPal即时付款通知IPN,空POST

我使用paypal订阅(托管按钮)

auto-return for Website Payments is on
Payment Data Transfer is on
success, fail and notify url are different
extra params for button are:
rm=2
notify_url=<url>
sra=1
rest in PayPal is default.
Run Code Online (Sandbox Code Playgroud)

所有在pro和sandbox中都有效

但来自IPN的POST请求每次都带有空数据.

  • 沙箱IPN的工作原理.
  • 请求处理没问题 - 用curl测试.
  • 在paypal上的IPN消息的历史是可以的.

我忘记了什么吗?

请确认或拒绝您的IPN上的PayPal问题.

paypal paypal-ipn

2
推荐指数
1
解决办法
1377
查看次数

Paypal:托管按钮付款失败,代码= AMOUNT_ERROR

多年来我一直在使用paypal按钮,使用IPN处理付款.

其中一些按钮几天前停止工作.它们会产生错误,如下图所示:( 截图)

这些按钮是使用Paypal在线工具创建的,他们的HTML代码是指在paypal网站上编辑的一些paypal UR3ZPGJAT7M数据(这应该是正确的吗?)(注意:UR3ZPGJAT7M是一个编辑过的值).

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="UR3ZPGJAT7M">
<table>
<tr><td><input type="hidden" name="on0" value="Expédition">Expédition</td></tr><tr><td><select name="os0">
    <option value="Expédition en France">Expédition en France €25,00 EUR</option>
    <option value="Expédition en Europe">Expédition en Europe €27,00 EUR</option>
    <option value="Reste du Monde">Reste du Monde €30,00 EUR</option>
</select> </td></tr>
</table>
<input type="hidden" name="currency_code" value="EUR">
<input type="image" src="https://www.paypalobjects.com/fr_FR/FR/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal, le réflexe sécurité pour payer en ligne">
<img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
</form>
Run Code Online (Sandbox Code Playgroud)

从屏幕截图中可以看出,反馈网址包含以下查询字符串:"&code = AMOUNT_ERROR"

我试图改变定义UR3ZPGJAT7M代码的paypal在线按钮编辑表单中的金额值.我尝试了小数分隔符的各种值:

  • 25.00
  • 25,00 …

paypal paypal-buttons paypal-ipn

2
推荐指数
1
解决办法
5215
查看次数