首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CI-Merchant & SagePay -似乎无法让它做出任何响应

CI-Merchant & SagePay -似乎无法让它做出任何响应
EN

Stack Overflow用户
提问于 2012-11-29 11:57:44
回答 2查看 1.2K关注 0票数 3

我正在整合CI-商家为处理贝宝和SagePay支付代码点火机项目。

我已经从http://ci-merchant.org/为paypal_express做了演示,并且工作正常(或者至少在我使用示例代码时给了我一个适当的错误-参见下面的带有贝宝代码的响应)

代码语言:javascript
复制
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的代码,如下所示

代码语言:javascript
复制
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;
}

该代码的输出为

代码语言:javascript
复制
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] => 
)

这并没有给我任何可能出错的信息。

我使用了有效的供应商名称,并在SagePay模拟器中输入了服务器的IP地址,请求来自的页面是https,请求来自的URL被添加到sage pay模拟器帐户部分。

它看起来应该是好的,但现在卡住了-我真的很感激在这方面的任何帮助。

提前感谢

杰森

EN

回答 2

Stack Overflow用户

发布于 2012-11-30 05:51:18

该PayPal错误通常意味着您正尝试在测试模式下使用活动帐户,反之亦然。

我不确定为什么Sagepay根本没有报告任何错误。这可能与lang()函数有关,该函数用于本地化错误消息,但我不确定。您可能需要向merchant_sagepay.php添加一些调试行,以查看实际的响应。

票数 0
EN

Stack Overflow用户

发布于 2014-09-09 14:22:34

您没有在$setting变量中传递正确的参数

代码语言:javascript
复制
$settings = array(
            'username' => 'API Merchants user name',
            'password' => 'API Merchants passwrd',
            'signature' => 'API Merchants signature',
            'test_mode' => true);// for sand box its true else false
        $this->merchant->initialize($settings); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13618592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档