Удалить Klarna Order Invoice

Я хочу удалить счета-фактуры Klarna поверх модуля OpenCart 2.0 Klarna.

Добавление заказа работает так:

            $transaction = array(
                '4.1',
                'API:OPENCART:' . VERSION,
                $pno,
                $gender,
                '',
                '',
                (string)$order_info['order_id'],
                '',
                $address,
                $address,
                $order_info['ip'],
                0,
                $currency,
                $country,
                $language,
                (int)$klarna_invoice[$order_info['payment_iso_code_3']]['merchant'],
                $digest,
                $encoding,
                $pclass,
                $goods_list,
                $order_info['comment'],
                array('delay_adjust' => 1),
                array(),
                array(),
                array(),
                array(),
                array()
            );

            $xml  = '<methodCall>';
            $xml .= '  <methodName>add_invoice</methodName>';
            $xml .= '  <params>';

            foreach ($transaction as $parameter)  {
                $xml .= '    <param><value>' . $this->constructXmlrpc($parameter) . '</value></param>';
            }

            $xml .= '  </params>';
            $xml .= '</methodCall>';

            $header = array();

            $header[] = 'Content-Type: text/xml';
            $header[] = 'Content-Length: ' . strlen($xml);

            $curl = curl_init();

            curl_setopt($curl, CURLOPT_URL, $url);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
            curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $xml);

            $response = curl_exec($curl);

Поддержка Klarna не может мне помочь, потому что не поддерживает OpenCart. Единственная подсказка, которую они мне дали, состояла в том, чтобы использовать функцию delete_invoice с номером счета.

Я пытался это так:

                $xml  = '<methodCall>';
            $xml .= '  <methodName>delete_invoice</methodName>';
            $xml .= '  <params>';

                $xml .= '    <param><value>3458767058974000000</value></param>';

            $xml .= '  </params>';
            $xml .= '</methodCall>';

            $header = array();

            $header[] = 'Content-Type: text/xml';
            $header[] = 'Content-Length: ' . strlen($xml);

            $curl = curl_init();

            curl_setopt($curl, CURLOPT_URL, $url);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
            curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $xml);

            $response = curl_exec($curl);

            curl_close($curl);

с invoice_delete и номером счета, но счет не будет удален.

У кого-нибудь есть идея, почему это не работает?

Привет

0 ответов

Другие вопросы по тегам