1

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

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

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

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

谢谢,J

4

2 回答 2

2

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

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

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

  1. 注册 PayPal 专业版
  2. 接下来,将您的 PayPal API 信息添加到 WP E-Commerce:如何查找 PayPal API 凭据
  3. 设置完成后,登录 PayPal 帐户。
  4. 在您的订单旁边的帐户页面上,单击“打印运输标签”。
  5. 添加 UPS 帐户(或 USPS)
  6. 客户可以从 PayPal 打印运输标签,然后向他们的 PayPal 或 UPS 帐户收费。
  7. 将跟踪号放入 WP E-Commerce。

挺容易。

于 2012-10-11T00:02:13.907 回答
1

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

我不知道有任何 WP 插件除了从 UPS 获取运费之外做任何事情 - 你必须让某人为你编写自定义插件,该插件还可以生成运输摘要并将其提交给 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/ 你会发现运输摘要的样子

于 2012-07-20T21:22:37.770 回答