当前位置: 首页 > 知识库问答 >
问题:

Shopify收据和退款按钮灰色

许展鹏
2023-03-14

我正在整合shop ify到我管理的网站之一,一个航运网站。我使用API从我们的数据库创建项目订单。\

当订单发出时,交易将根据从我们的网站中选择的网关(现金、支票或信用)进行。交易的订单发送到我们的商店,可以在POS应用程序上看到。

问题是我无法访问POS应用程序中的退款或收据按钮。我可以使用shopify后端退款,但不能在POS机上退款。这很麻烦,而且是我在我们的网站上实现此功能之前剩下的唯一一件事。

以下是正在发送的订单代码


    $order =
        array(
        'fulfillment_status' => 'fulfilled',
        'send_receipt' => 'true',
        'send_fulfillment_receipt' => 'true',
        );

    // Second part of order with items and customer

    if($ShippingQuantity !== 0.00){
      $order2 = array('line_items' => array(
            array('title' => 'Shipping',
            'price' => '10',
            'quantity' => $ShippingQuantity,
          )
        )
      );
    }

    if($HandlingQuantity !== 0.00){
      $order3 =array('title' => 'Handling',
            'price' => '5',
            'quantity' => $HandlingQuantity,
          );

    $order2['line_items'][] = $order3;
    }

    if($DutyQuantity !== 0.00){
          $order4 =array('title' => 'Duty',
                'price' => '0.01',
                'quantity' => $DutyQuantity,
              );
    $order2['line_items'][] = $order4;
    }

    if($ConsolidationQuantity !== 0.00){
          $order5 =array('title' => 'Consolidation',
                'price' => '10',
                'quantity' => $ConsolidationQuantity,
              );
    $order2['line_items'][] = $order5;
    }

    if($DeliveryQuantity !== 0.00){
          $order6 =array('title' => 'Delivery',
                'price' => '20',
                'quantity' => $DeliveryQuantity,
              );
    $order2['line_items'][] = $order6;
    }

    $customerandtrans = array('customer' => array(
      'id' => $currentcustID,
    ),'note' =>'purchase made at '.$pickup.'',
                'transactions' => array(
                array('amount' => $Total,
                      'gateway' => $gateway,
                    )
            )
    );


    $final = array_merge($order,$order2,$customerandtrans);
    $finaljson = json_encode($final);
    }
        }


        $ch = curl_init($baseUrl.'orders.json'); //set the url
        $data_string = json_encode(array('order'=>$final)); //encode the product as json
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");  //specify this as a POST
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); //set the POST string
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //specify return value as string
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen($data_string))
        ); //specify that this is a JSON call
        $server_output = curl_exec ($ch); //get server output if you wish to error handle / debug
        curl_close ($ch); //close the connection

        //var_dump($data_string);
        //var_dump($server_output);

        $decoded = json_decode($server_output,true);
        //var_dump($decoded);
        $reg_id = $decoded['order']['id'];
        $amount = $decoded['order']['total_price'];
        if($reg_id){
        echo "An order has been created with ID $reg_id 

";

这是交易代码


        $order_target2="orders/".$reg_id."/transactions.json";

    $trans =
    array('kind' => 'sale', 'receipt' => array( 'testcase' => 'true', 'authorization' => '123456',),);

    $ch = curl_init($baseUrl.$order_target2); //set the url
    $data_string = json_encode(array('transaction'=>$trans)); //encode the product as json
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");  //specify this as a POST
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); //set the POST string
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //specify return value as string
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_string))
    ); //specify that this is a JSON call
    $server_output = curl_exec ($ch); //get server output if you wish to error handle / debug
    curl_close ($ch); //close the connection


    //var_dump($data_string);
    //var_dump($server_output);

    $decoded = json_decode($server_output,true);
    //var_dump($decoded);
    $order_id = $decoded['transaction']['order_id'];
    if($order_id){
      echo "Transaction successfully made at order $order_id 

"; }

共有1个答案

朱鸿畅
2023-03-14

我将在与shopify支持技术人员讨论情况后,将此标记为已解决。他表示,任何不是来自POS的交易都将有通过POS灰显的收款和退款选项。但是,您仍然可以通过商店后端的管理面板访问这些功能。

 类似资料:
  • 灰色按钮 有两种情况:通过代码和控件属性 VB语言: 代码:ctrl+b查找 816C24,在JMP下断,然后F2运行程序,把 push ebp 改为 retn,或者把这些代码全NOP掉 控件属性:VBExplorer 辅Z工具改属性 Delphi/BC++语言: 代码:通过DEDE找FormCreate,记下地址,改 retn 控件属性:相关辅Z工具改属性 易语言: 代码:bp EnableWi

  • 我有一个问题使添加到购物车按钮工作。不确定是哪一部分代码导致了这个问题。但是,问题的链接是:https://barkerbespoke.com/collections/tie-collection/products/black-wool 你有什么建议?

  • 问题内容: 如果javascript修改了页面A中的DOM,则用户导航到页面B,然后单击返回按钮返回页面A。页面A对DOM的所有修改都将丢失,并且向用户显示最初从服务器检索到的版本。 它可以在stackoverflow,reddit和许多其他流行的网站上以这种方式工作。(尝试向该问题添加测试评论,然后导航至其他页面并单击“返回”按钮以返回- 您的评论将“消失”) 这很有意义,但是某些网站(appl

  • 问题内容: 我在www.darknovagames.com上运行了基于浏览器的游戏。最近,我一直在努力使用CSS重新格式化该网站,试图让其所有页面都根据HTML标准进行验证。 我一直在想着要在页面左侧放置AJAX导航菜单的想法(而不是每次都将用户带到一个单独的页面,而是需要重新加载标题和导航栏,而这几乎是不会改变的),我知道如果这样做,我可能会破坏浏览器中的“前进/后退”按钮。我的问题是,我应该继

  • 申请退款 当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 注意: 1、交易时间超过一年的订单无法提交退款; 2、微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。一笔退款失败后重新提交,要采用原来的退款单号。总退款金