2013-10-28 19 views
5

Tôi gặp vấn đề này. Tôi đã làm theo hướng dẫn này ->http://www.youtube.com/watch?v=rzRR1i-F_VAPaypal thanh toán thích ứng php

và sau khi thiết lập mọi thứ, tôi gặp một số vấn đề khi vượt qua quá trình xác thực. Và sau khi một số nghiên cứu về xác thực, tôi đã thử nghiệm điều này ->https://developer.paypal.com/webapps/developer/docs/classic/lifecycle/ug_sandbox/

Tại một số điểm trong quá trình (Thực hiện yêu cầu kiểm tra), tôi đã thử nghiệm trong bảng điều khiển bash và userid, mật khẩu và chữ ký của tôi đã hoạt động. Vì vậy, tôi thấy rằng vấn đề là trong mã tôi đang sử dụng.

Vì vậy, đây là các mã:

<?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_HEADER, $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"); 
} 
} 

Và đây là cuộc gọi:

$payment = new PaypalTest(); 
$payment->splitPay(); 

Khá đơn giản, nhưng một cái gì đó không hoạt động. Và tôi không thực sự quen thuộc với Curl vì vậy tôi nghĩ các bạn có thể giúp tôi

PS: Tôi đang ở chế độ sandbox

Cảm ơn

Carl

+0

Cái gì không hoạt động? lỗi gì bạn nhận được? –

+0

http://stackoverflow.com/questions/19645381/paypal-adaptive-payment-php Bất kỳ ai cũng có thể giúp tôi hoàn tất các bước thanh toán – xyz

Trả lời

5

thay đổi CURLOPT_HEADER để CURLOPT_HTTPHEADER

+0

Tôi đã tìm thấy nó từ đó, nhưng cảm ơn bạn đã trả lời! –

Các vấn đề liên quan