【问题标题】:paypal button / IPN invoice namepaypal 按钮/IPN 发票名称
【发布时间】:2015-03-21 03:23:04
【问题描述】:

我目前接受付款的设置如下:

  1. 我使用自定义 paypal 按钮代码,在其中设置我的通知 url (IPN) 并返回带有我想要传递的参数的 url(例如 UTM_SOURCE,这样我就可以知道哪个活动产生了销售)。

  2. 我有一个用于获取该信息的 IPN 侦听器,并在我的系统中为买家创建一个新用户。

  3. 我将带有多个 IPN php 脚本 (http://codeseekah.com/2012/02/11/how-to-setup-multiple-ipn-receivers-in-paypal/) 的 IPN 转发到第三方发票软件,该软件生成发票并将其发送给买方。

问题:

发票软件从他们的 paypal 帐户中获取用户的姓名,而且似乎很多人需要使用不同名称的发票。

有没有办法操纵买家的姓名,这样当我将 IPN 信息转发到发票软件时,它会包含我在记录中的姓名,而不是 paypal 通行证的姓名?

注意:我宁愿这样做而不求助于使用 paypal 的 API。

谢谢:)

【问题讨论】:

    标签: paypal paypal-ipn


    【解决方案1】:

    这是一个 PHP 示例,说明如何实现这一点。本质上,您循环遍历 IPN 值,然后将它们添加回您自己的名称/值对字符串中。但是在将每个值添加到您的字符串之前,您会检查它是名字还是姓氏,如果是,则将其设置为等于您已经设置的某个变量。

    $modified_first_name = "Bob";
    $modified_last_name = "Smith";
    
    foreach ($_POST as $key => $value) {         // Loop through the notification NV pairs
        //Check if is first or last name, and modify the name
        switch ($key) {
            case 'first_name':
                $value = $modified_first_name;
                break;
            case 'last_name':
                $value = $modified_last_name;
                break;
        } //end switch $key
    
        //Add to NV pairs
        $value = urlencode(stripslashes($value));  // Encode these values
        $req  .= "&$key=$value";                   // Add the NV pairs to the acknowledgement
    }
    

    编辑:至于您问题的第二部分(将通知发送到 3rd 方软件),您根本不应该将 IPN 发送到 3rd 方软件。相反,使用从我上面粘贴的脚本派生的数据,使用 POST 将数据发送到您自己的第 3 方软件。你可以这样做:

    // post to third party software //
    $header .= "POST /script.php HTTP/1.0\r\n";
    $header .= "Host: www.thirdpartysoftwaresite.com\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
    
    $port = 123; //replace this with actual port on server
    
    // Open a socket for the 3rd party software
    $fp = fsockopen('http://www.thirdpartysoftwaresite.com/', $port, $errno, $errstr, 30);
    
    // Send the HTTP POST request
    fputs($fp, $header . $req);
    

    【讨论】:

      猜你喜欢
      • 2017-07-24
      • 1970-01-01
      • 2014-04-27
      • 2011-07-30
      • 2021-11-21
      • 2021-02-22
      • 2012-09-26
      • 2018-04-09
      • 1970-01-01
      相关资源
      最近更新 更多