Ошибка возврата Sagepay — 3047: неверный формат VPSTxId

У меня возникла ошибка при написании кода для возврата транзакции от Sagepay:

3047 : Недопустимый формат VPSTxId.

Код, который я использовал здесь:

  if ($this->config->get('sagepay_direct_v3_test') == 'live') {
        $url = 'https://live.sagepay.com/gateway/service/refund.vsp';
        $payment_data['VPSProtocol'] = '3.00';
    } elseif ($this->config->get('sagepay_direct_v3_test') == 'test') {
        $url = 'https://test.sagepay.com/gateway/service/refund.vsp';
        $payment_data['VPSProtocol'] = '3.00';
    }


    $this->load->model('checkout/order');
    $this->load->model('payment/sagepay_direct_v3');
    $order_info = $this->model_checkout_order->getOrder($order_id);

    $sagepay_direct_v3_order = $this->getOrder($order_info['advance_order_confirmed_id']);


    $params = array();
    $params['VPSProtocol'] = urlencode($payment_data['VPSProtocol']);
    $params['TxType'] = urlencode('REFUND');
    $params['Vendor'] = urlencode($this->config->get('sagepay_direct_v3_vendor'));
    $params['VendorTxCode'] =  $this->request->get['order_id'] . 'T' . strftime("%Y%m%d%H%M%S") . mt_rand(1, 999);            
    $params['Amount'] = $this->currency->format($order_info['total'], $order_info['currency_code'], false, false);
    $params['Currency'] = $this->currency->getCode();
    $params['Description'] = urlencode(substr($this->config->get('config_name'), 0, 100));
    $params['RelatedVPSTxId'] =  urlencode($sagepay_direct_v3_order['VPSTxId']);
    $params['RelatedVendorTxCode'] = urlencode($this->request->get['order_id'] . 'T' . strftime("%Y%m%d%H%M%S") . mt_rand(1, 999));        
    $params['RelatedSecurityKey'] = urlencode($sagepay_direct_v3_order['SecurityKey']);
    $params['RelatedTxAuthNo'] = urlencode($sagepay_direct_v3_order['TxAuthNo']);
    $response = $this->model_payment_sagepay_direct_v3->sendCurl($url, $params);
var_dump( $response );

person VIPIN A ROY    schedule 14.01.2015    source источник


Ответы (1)


Я подозреваю, что это потому, что вы кодируете RelatedVPSTxId (и другие поля).

person Rik Blacow    schedule 19.01.2015