3

Paypal と SagePay で支払いを処理するために、CI-Merchant を Codeigniter プロジェクトに統合しています。

http://ci-merchant.org/から paypal_express のデモを実行しましたが、うまくいきました (または、サンプル コードを使用したときに少なくとも適切なエラーが発生しました - 以下のペイパル コードの応答を参照してください)。

Merchant_response Object
(
[_status:protected] => failed
[_message:protected] => Security header is not valid
[_reference:protected] => 
[_data:protected] => 
[_redirect_url:protected] => 
[_redirect_method:protected] => GET
[_redirect_message:protected] => 
[_redirect_data:protected] => 
)

Sagepay のコードを更新しました。次のとおりです。

public function index()
{
    $this->load->helper('language');
    $this->load->library('merchant');
    $this->merchant->load('sagepay_direct');

    $settings = array (
        'vendor' => 'testvendor',
        'test_mode' => FALSE,
        'simulator_mode' => TRUE,
    );

    $this->merchant->initialize($settings);

    $params = array(
        'description'=>'Test purchase',
        'currency'=>'GBP',
        'transaction_id'=>'12345',
        'email'=>'test@person.com',
        'first_name'=>'Test',
        'last_name'=>'Person',
        'address1'=>'1 Random Avenue',
        'address2'=>'Made Up Drive',
        'city'=>'Notarealcity',
        'postcode'=>'FA11 1KE',
        'country'=>'UK',
        'region'=>'',
        'phone'=>'0101010101',

        'amount'=>125.00,
        'card_no'=>'4444444444444444', 
        'name'=> 'Mr Test', 
        'card_type' => 'VISA', 
        'exp_month'=> 11, 
        'exp_year'=> 15,
        'csc'=> 999
    );

    $response = $this->merchant->purchase($params);

    echo '<pre>';
    print_r($response);
    exit;
}

そのコードからの出力は

Merchant_response Object
(
[_status:protected] => failed
[_message:protected] => 
[_reference:protected] => 
[_data:protected] => 
[_redirect_url:protected] => 
[_redirect_method:protected] => GET
[_redirect_message:protected] => 
[_redirect_data:protected] => 
)

何が間違っているのかについての情報を私に与えていません。

私は有効なベンダー名を使用しており、サーバーの IP アドレスを SagePay シミュレーターに入力しました。リクエストの送信元のページは https であり、リクエストの送信元の URL は Sage Pay シミュレーターのアカウント セクションに追加されています。

うまくいくはずですが、今は立ち往生しています-これについて何か助けていただければ幸いです。

前もって感謝します

ジェイソン

4

2 に答える 2

0

このPayPalエラーは、通常、ライブアカウントをテストモードで使用しようとしていること、またはその逆を意味します。

Sagepayがエラーをまったく報告しない理由はわかりません。エラーメッセージをローカライズするlang()関数に関係している可能性がありますが、よくわかりません。実際の応答を確認するには、merchant_sagepay.phpにデバッグ行を追加する必要がある場合があります。

于 2012-11-29T21:51:17.613 に答える