Paypal Rest API的工作

我无法正确理解Paypal API。 我正在尝试了解用于付款的PHP SDK。

我试图检查一下贝宝集成。

我无法理解的是。

  • 它不需要登录用户吗?

  • 这是什么意思?用Paypal存储信用卡。 这是否意味着信用卡存储在API中或信用卡存储在Paypal用户的配置文件中

  • 我应该如何着手执行循环付款。 我知道我需要使用信用卡ID来获取所有的信用卡详细信息,并在那里进行付款。 这是否意味着,我必须将信用卡ID存储在我的数据库中,因此将其用于未来的定期付款/下标? 我是否也必须存储付款人ID?

  • 我应该如何去获取用户的详细信息。 如果可以说,第一点是错误的,它确实需要用户登录,那么我应该如何去获取已存储在该用户帐户中的信用卡详细信息?

  • 我不希望用户去贝宝的网站,我的意思是,付款应该完全在我的网站上进行,而不会重定向到贝宝。 我应该怎么做呢?

  • 您能否请您一步一步解释如何执行付款(使用Paypal API重复付款)。 我不需要任何代码,只需要知道它是如何工作的,采取什么措施以及何时进行担保支付。


    以下是有关RESTful API的信息:

  • PayPal付款需要重定向到PayPal。 直接信用卡付款支持某些国家可以在这里找到。
  • 当您使用保险柜时,PayPal会将信用卡信息替换为您稍后将用于为该客户收费的卡ID。 更多信息可以在这里找到。
  • 是的,您需要存储卡ID和付款人ID(如果使用),以便日后可以引用这些ID来为客户收费。 如果您在存储卡时最初使用Payer ID,那么您在付款时还需要将其与卡ID一起传递。 有关这方面的更多信息可以在上面#2中的链接的相同页面找到。
  • PayPal不会为您提供客户PayPal账户的卡信息。 如果您想稍后为客户的信用卡充值,则需要使用保险柜功能。 同样,请记住,由于保险柜使用直接信用卡进行处理,您必须在受支持的国家/地区注册(上面#1中的链接)。
  • 请参考上面的#1。

  • 如果您使用PayPal帐户付款,则只需登录即可。 如果您订阅网站付款专业版,您可以在没有PayPal账户的情况下拿取他们的信用卡
  • 无论您何时使用PayPal进行信用卡交易,PayPal都会为您提供交易ID。 您可以使用它来使用DoReferenceTransaction(Classic API)再次运行卡
  • 重复付款是一项单独的订阅和一组独立的API调用。 但PayPal将根据您的设置管理您的定期结算
  • 除非您保存用户的信用卡详细信息(并且有些无法通过PCI保存,例如CVV2),否则您将无法在以后获取这些信息。
  • 如果您订阅网站付款专业版和定期付款(必须同时拥有两种付款方式),则可以在您的网站上购买他们的信用卡。 不过(按PayPal的TOS),您也必须提供Express Checkout选项

  • 尝试下面的IPN代码:

    $postipn = 'cmd=_notify-validate';
    $orgipn = '';
    foreach ($_POST as $key => $value)
    {    
            $postipn .= '&' . $key . '=' . urlencode (stripslashes ($value));
    }
    
    // post back to PayPal system to validate
    $header .= "POST /cgi-bin/webscr HTTP/1.0rn";
    $header .= "Host: www.sandbox.paypal.comrn"; // for sandbox
    //$header .= "Host: www.paypal.comrn"; // for live
    $header .= "Content-Type: application/x-www-form-urlencodedrn";
    $header .= "Content-Length: " . strlen($postipn) . "rnrn";        
    
    $port = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30); // for sandbox
    //$port = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);// for live
    
    if ((!$port AND !$error))
    {
            echo $error .= 'Problem: Error Number: ' . $errno . ' Error String: ' . $errstr;
            exit ();
            return 1;
    }
    
    fputs ($port, $header . $postipn);
    while (!feof ($port))
    {
            $reply = fgets ($port, 4000);
            $reply = trim ($reply);
    }
    
    //if (!strcmp ($reply, 'VERIFIED'))
    if (strcmp ($reply, "VERIFIED") == 0)
    {
            if ($payment_status == 'Pending')
            {
                    //logtransaction ('PayPal', $orgipn, 'Pending');
                    exit ();
            }
    
            $idnumber = $_POST['custom'];                    
    
            // your code here                                                        
                    $update_status_query = "Update booking_name SET `status` = 'Confirmed' WHERE `registration_number` = '".$idnumber."' ";
                    mysql_query($update_status_query);
    }
    
    fclose ($port);
    exit ();
    ?>
    

    查找更多详情:http://blog.phpcode.co.in/php/paypal-integration/

    链接地址: http://www.djcxy.com/p/78023.html

    上一篇: Working Of Paypal Rest API

    下一篇: Python: Importing a module with the same name as a function