标签: paypal-ipn

用于ASP.NET MVC的Paypal IPN侦听器

PayPal GitHub上有很多代码示例,展示了如何以各种语言(php,VB,...)实现IPN监听器.但是,ASP.NET MVC没有.有人成功实施了吗?或者,与其他代码示例类似,是否有实现它的首选/官方方式?

.net c# asp.net-mvc paypal paypal-ipn

11
推荐指数
1
解决办法
9470
查看次数

paypal express checkout重复出现的个人资料开始日期

我们使用Express Checkout API以编程方式使用paypal定期付款.

根据文档,该配置文件似乎最多需要24小时才能激活.我正在试图弄清楚如何设置结算开始日期,使其在个人资料激活的那天收费,而不是强迫它等待长达24小时.

基于API文档,似乎我需要在创建概要文件时传递开始日期,这迫使我(今天+ 1天)强制执行24小时延迟.但是如果配置文件立即激活并且我收到IPN消息,我仍然必须强迫客户等待那个24小时的时间......这似乎不太好.

虽然我可以做一个预付款的预付款,我试图避免这样做b/ci认为这会让我缩短更新期限(例如,如果这是6个月的订阅,我会提前1个月收取费用5一个月反复出现.),这会让消费者感到困惑.

我希望有人可以帮我这个.

文件.

paypal paypal-subscriptions paypal-sandbox paypal-ipn

11
推荐指数
1
解决办法
4850
查看次数

Paypal IPN处理多个自定义变量

所以我在我的网站上实现了paypal IPN,我正处于工作过程的中间.现在我想在pp表单中使用多个自定义变量,目前我只使用这个

<input type="hidden" name="custom" value="<?php echo $user_id; ?>">
Run Code Online (Sandbox Code Playgroud)

所以我知道允许名为'custom'的变量.我想知道我是否可以传递更多变量,以便根据他们的标准过滤付款.因此,如果运费超过0.00美元,我设置了一个变量"shipping_cost",如下所示:

<input type="hidden" name="shipping_cost" value="<?php echo $cost; ?>">
Run Code Online (Sandbox Code Playgroud)

或用于其他目的.这是允许的吗?或者paypal已经定义了我们可以使用的允许变量列表?我真的想解决这个问题,因为我们不能总是处理一种付款方式......谢谢大家.

paypal paypal-ipn

11
推荐指数
2
解决办法
9846
查看次数

您是否需要使用带快速结账的IPN来确认PayPal付款?

当我使用Checkout express API调用时,我是否需要IPN监听器来确认付款?

有些地方认为,一旦我收到DoExpressCheckoutPayment的回复付款已经完成,我可以采取行动 - 更新数据库等.
有些帖子在这里http://www.zen-cart.com/showthread.php?72304- Paypal-IPN-and-Express-Checkout表明IPN已经过时或过时.

paypal paypal-ipn

11
推荐指数
1
解决办法
4229
查看次数

PayPal IPN是否有任何样本

我有一个Asp.Net WEB API 2项目,我想实现一个即时支付通知(IPN)监听器控制器.

我找不到任何示例和nuget包.我只需要承认用户使用Paypal上的标准html按钮付款.这很简单.

所有nuget包都是创建发票或自定义按钮.这不是我需要的

paypal上的示例适用于经典的asp.net,而不适用于MVC或WEB API MVC

我确定有人已经这样做了,当我开始编码时,我感觉我正在重新发明轮子.

有没有IPN监听器控制器示例?

至少一个PaypalIPNBindingModel绑定Paypal查询.

    [Route("IPN")]
    [HttpPost]
    public IHttpActionResult IPN(PaypalIPNBindingModel model)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest();
        }

        return Ok();
    }
Run Code Online (Sandbox Code Playgroud)

编辑

到目前为止,我有以下代码

        [Route("IPN")]
        [HttpPost]
        public void IPN(PaypalIPNBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                // if you want to use the PayPal sandbox change this from false to true
                string response = GetPayPalResponse(model, true);

                if (response == "VERIFIED")
                {

                }
            }
        }

        string GetPayPalResponse(PaypalIPNBindingModel model, bool useSandbox)
        {
            string responseState = "INVALID";

            // Parse …
Run Code Online (Sandbox Code Playgroud)

c# paypal paypal-ipn asp.net-web-api

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

没有收到Paypal IPN Sandbox的回复

我正在将paypal结账放到我的网站上,但是我和听众一起倒下了.对于那些不熟悉Paypal IPN系统的人来说,Paypal基本上会向您的脚本发送一条有关交易的消息,您可以通过添加几个位来发回该消息.如果Paypal收到正确的答复,它将回复'已验证',如果没有,它会说'无效'.

第一位我成功了.我的代码能够从paypal接收信息,添加额外内容并将其发回.但是,Sandbox没有回复说"已验证"或"无效".我几乎从paypal网站上复制了我的代码,所以我希望这会相当简单,所以如果你花一点时间查看我的代码,也许一些新的眼睛可以找出我出错的地方.

这是代码.没什么特别的,它实际上只是获取信息,调整它,传回它并读取响应(它要么没有得到或者没有意识到它的到来)

<?php

$debug=true;

//Put together postback info

$postback = 'cmd=_notify-validate';

foreach($_POST as $key =>$value){
     $postback .= "&$key=$value";
}

// build the header string to post back to PayPal system to validate
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Host: www.sandbox.paypal.com\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($postback) . "\r\n\r\n";

$fp = fsockopen ('www.sandbox.paypal.com', 80, $errno, $errstr, 30);//open the connection

if(!$fp){ //no conn
    die();
}

//post data back
fputs($fp, $header . $postback);

while(!feof($fp)){

    $res=fgets ($fp, …
Run Code Online (Sandbox Code Playgroud)

php paypal paypal-sandbox paypal-ipn

10
推荐指数
2
解决办法
2万
查看次数

paypal IPN返回pending_reason:单边

我的PayPal IPN脚本运行得很好.当我使用我的沙箱帐户进行测试时,付款会立即进行,但是当我使用客户的企业电子邮件时,我会在IPN日志调用中将其payment_status作为"待定",并将其pending_reason作为"单边".

我的客户的电子邮件已在PayPal上确认.所以有人能告诉我为什么我会遇到这个问题吗?

paypal paypal-ipn

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

PayPal IPN POST请求编码

当尝试在Pyramid中使用PayPal IPN POST有效负载时(可能还有其他人),我得到了解码错误:

[...]
 File "./project/views.py", line 716, in paypal_ipn
    message = request.POST
  File "build/bdist.linux-x86_64/egg/webob/request.py", line 745, in POST
  File "build/bdist.linux-x86_64/egg/webob/multidict.py", line 74, in from_fieldstorage
  File "build/bdist.linux-x86_64/egg/webob/multidict.py", line 67, in <lambda>
  File "/sites/ts/lib64/python2.6/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xf3 in position 5: invalid continuation byte
Run Code Online (Sandbox Code Playgroud)

如何解决?

python paypal utf-8 paypal-ipn

10
推荐指数
1
解决办法
932
查看次数

Paypal SandBox IPN始终返回INVALID

正如下面答案中的一条评论中提到的,我尝试了本教程.所以现在我有以下内容:


ipn.php文件:

<?php

    $ipn_post_data = $_POST;

    $url = 'https://www.sandbox.paypal.com/cgi-bin/webscr';

    // Set up request to PayPal
    $request = curl_init();
    curl_setopt_array($request, array
    (
        CURLOPT_URL => $url,
        CURLOPT_POST => TRUE,
        CURLOPT_POSTFIELDS => http_build_query(array('cmd' => '_notify-validate') + $ipn_post_data),
        CURLOPT_RETURNTRANSFER => TRUE,
        CURLOPT_HEADER => FALSE,
        CURLOPT_SSL_VERIFYPEER => TRUE,
        CURLOPT_CAINFO => 'cacert.pem',
    ));

    // Execute request and get response and status code
    $response = curl_exec($request);
    $status   = curl_getinfo($request, CURLINFO_HTTP_CODE);

    // Close connection
    curl_close($request);

    if($status == 200 && $response == 'VERIFIED')
    {
        $subject = "valid"; …
Run Code Online (Sandbox Code Playgroud)

php paypal paypal-sandbox paypal-ipn

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

更新订阅PayPal IPN是什么样的?

IPN模拟器似乎无法发送测试订阅续订.现在,我的付款每年续订.

与注册IPN支付相比,这些交易是什么样的?

他们是否与pay(subscr_payment)共享相同的txn_type ,还是算作辞职(向我发送两个不同的IPN,一个用于subscr_signup付款,另一个用于付款)?

我一年前的自定义数据是否仍通过IPN发送?

我如何测试可再生支付?IPN测试仪似乎没有这样的类别.

payment paypal recurring subscription paypal-ipn

10
推荐指数
0
解决办法
237
查看次数