【问题标题】:Wordpress WP eCommerce UPS ShippingWordpress WP 电子商务 UPS Shipping
【发布时间】:2012-07-18 19:14:22
【问题描述】:

我正在为我的产品使用 wordpress 和 wp eCommerce,我正在使用 UPS 进行运输,我在 UPS 上创建了一个帐户,并获得了 API,我在运输下输入的信息是正确的,并且我已经检查了所有正确的框。

我知道 UPS Shipping 只进行计算,但是有没有办法让用户在下订单时,它会进入我的 UPS 帐户,并带有跟踪号或类似的东西。我收到了一封来自 wp-ecommerce 的电子邮件,上面写着这个

无论是否有在线商店,您都可以按照自己的方式运送产品。在大多数情况下,这意味着进入您的 UPS 系统并创建一个运输标签。此时,您将获得一个跟踪号,然后您可以将其输入到该订单的商店销售日志中。然后将向提供跟踪信息的人发送通知。

这是运送我的最佳方式还是有人有更好的主意?

谢谢, J

【问题讨论】:

    标签: php wordpress e-commerce


    【解决方案1】:

    我的两分钱:在开始遵循 @c2h50h 的解决方案后(很棒的发现,顺便说一句!),我意识到 PayPal 有一个打印运输标签选项,并与您的 UPS 帐户无缝集成。我的客户使用 PayPal Pro(这是他们每月 30 美元的白标支付解决方案),运输信息会自动传输到 PayPal,您可以在实施后打印标签。注意:这也适用于其他 PayPal(免费)平台。

    虽然我在测试中得到了 @c2h50h 的解决方案,但我意识到要为客户端创建一个可行的插件需要大量的编码。不过,他们喜欢 PayPal 解决方案,我不得不承认,我很难为他们的 WordPress 管理页面设计更好/更可靠的东西。

    如果您想走这条路线,请参考以下说明:

    1. 注册 PayPal Pro
    2. 接下来,将您的 PayPal API 信息添加到 WP E-Commerce:How to find PayPal API credentials
    3. 设置完成后,登录 PayPal 帐户。
    4. 在您订单旁边的帐户页面上,点击“打印运输标签”。
    5. 添加 UPS 帐户(或 USPS)
    6. 客户可以从 PayPal 打印运输标签,然后从他们的 PayPal 或 UPS 帐户中收取费用。
    7. 将跟踪号输入 WP E-Commerce。

    很简单。

    【讨论】:

      【解决方案2】:

      这是目前 WP eCommerce 唯一可用的方式:

      除了从 UPS 获取运费之外,我不知道有任何 WP 插件可以做任何事情 - 您必须让某人为您编写自定义插件,该插件还可以生成运输摘要并将其提交给 UPS 以获得运输标签。

      这里有一些你可以开始制作这样一个插件的代码

      $xmlRequest1='<?xml version="1.0" encoding="ISO-8859-1"?>
      <AccessRequest>
      <AccessLicenseNumber>ACCESS LICENCE NUMBER</AccessLicenseNumber>
      <UserId>UPS USERNAME</UserId>
      <Password>UPS PASSWORD</Password>
      </AccessRequest>
      <?xml version="1.0" encoding="ISO-8859-1"?>
      <ShipmentAcceptRequest>
      <Request>
      <TransactionReference>
      <CustomerContext>Customer Comment</CustomerContext>
      </TransactionReference>
      <RequestAction>ShipAccept</RequestAction>
      <RequestOption>1</RequestOption>
      </Request>
      <ShipmentDigest>SHIPMENT DIGEST</ShipmentDigest>
      </ShipmentAcceptRequest>
      ';
      
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, "https://wwwcie.ups.com/ups.app/xml/ShipAccept");
      // uncomment the next line if you get curl error 60: error setting certificate verify locations
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
      // uncommenting the next line is most likely not necessary in case of error 60
      // curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_HEADER, 0);
      curl_setopt($ch, CURLOPT_POST, 1);
      curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlRequest1);
      curl_setopt($ch, CURLOPT_TIMEOUT, 3600);
      
      //if ($this->logfile) {
      //   error_log("UPS REQUEST: " . $xmlRequest . "\n", 3, $this->logfile);
      //}
      $xmlResponse = curl_exec ($ch); // SHIP ACCEPT RESPONSE
      //echo curl_errno($ch);
      
      $xml = $xmlResponse;
      
      preg_match_all( "/\<ShipmentAcceptResponse\>(.*?)\<\/ShipmentAcceptResponse\>/s",
      $xml, $bookblocks );
      
      foreach( $bookblocks[1] as $block )
      {
      preg_match_all( "/\<GraphicImage\>(.*?)\<\/GraphicImage\>/",
      $block, $author ); // GET LABEL
      
      preg_match_all( "/\<TrackingNumber\>(.*?)\<\/TrackingNumber\>/",
      $block, $tracking ); // GET TRACKING NUMBER
      //echo( $author[1][0]."\n" );
      }
      
      echo '<img src="data:image/gif;base64,'. $author[1][0]. '"/>';
      

      代码来源:http://webcollage.wordpress.com/2011/05/13/ups-label-print-with-php/

      在这里http://webcollage.wordpress.com/2011/05/10/ups-shipping-confirmation-code-in-php/ 你会发现运输摘要的样子

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-29
        • 2012-08-02
        • 1970-01-01
        • 2015-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多