我需要帮助在WordPess中使用以下代码进行Paypal自适应支付

时间:2018-06-15 11:39:08

标签: php wordpress paypal paypal-adaptive-payments

我需要帮助才能在WordPress网站中使用以下代码Paypal自适应支付。

我不明白CComponent类的扩展位置。

     <?php
          class PaypalTest extends CComponent{
               public $api_user = "**********************";
               public $api_pass = "***********";
               public $api_sig = "**************************";
               public $app_id = "APP-80W284485P519543T";
               public $apiUrl = 'https://svcs.sandbox.paypal.com/AdaptivePayments/';
               public $paypalUrl="https://www.paypal.com/webscr?cmd=_ap-payment&paykey=";
               public $headers;

               public function __construct(){
                       $this->headers = array(
                       "X-PAYPAL-SECURITY-USERID: ".$this->api_user,
                       "X-PAYPAL-SECURITY-PASSWORD: ".$this->api_pass,
                       "X-PAYPAL-SECURITY-SIGNATURE: ".$this->api_sig,
                       "X-PAYPAL-REQUEST-DATA-FORMAT: JSON",
                       "X-PAYPAL-RESPONSE-DATA-FORMAT: JSON",
                       "X-PAYPAL-APPLICATION-ID: ".$this->app_id,
                        );
                }

                public function getPaymentOptions($paykey){

                }
                public function setPaymentOptions(){

                }
                public function _paypalSend($data,$call){
                       $ch = curl_init();
                       curl_setopt($ch, CURLOPT_URL, $this->apiUrl.$call);
                       curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                       curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
                       curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
                       curl_setopt($ch, CURLOPT_HTTPHEADER, $this->headers);
                       $response = json_decode(curl_exec($ch),true);
                       return $response;

                }

                public function splitPay(){

                        // create the pay request
                       $createPacket = array(
                            "actionType" =>"PAY",
                             "currencyCode" => "USD",
                             "receiverList" => array(
                                   "receiver" => array(
                                         array(
                                             "amount"=> "1.00",
                                             "email"=>"********@hotmail.com"
                                          ),
                                         array(
                                              "amount"=> "2.00",
                                              "email"=>"********@gmail.ca"
                                          ),
                                      ),
                        ),
                        "returnUrl" => "http://test.local/payments/confirm",
                        "cancelUrl" => "http://test.local/payments/cancel",
                        "requestEnvelope" => array(
                                "errorLanguage" => "en_US",
                                "detailLevel" => "ReturnAll",
                         ),
                    );

                   $response = $this->_paypalSend($createPacket,"Pay");
                }

           }
     ?>

看起来很简单,但我不明白。而且我对Paypal Adaptive Payments并不熟悉。我在沙箱模式。

0 个答案:

没有答案