2012-07-18 90 views
1

我使用wordpress和wp電子商務爲我的產品,我使用UPS進行裝運,並且我創建了一個UPS帳戶,並獲得了我在航運下輸入的API和信息,並且我已經檢查了所有正確的盒子。Wordpress WP電子商務UPS運輸

我知道UPS Shipping只進行計算,但是有沒有辦法讓用戶下訂單時,它會通過跟蹤號碼或類似內容進入我的UPS帳戶。我收到了wp-ecommerce的一封電子郵件,內容是這樣的

您會按照自己的方式裝運產品,而不管擁有網上商店。在大多數情況下,這意味着要進入UPS系統並創建運輸標籤。此時,您將獲得一個跟蹤號碼,然後您可以輸入該訂單的商店銷售日誌。然後通知將被髮送給具有跟蹤信息的人。

這是最好的方式來做我的航運或沒有人有一個更好的主意?

感謝, Ĵ

回答

1

這是適用於WP電子商務目前唯一的辦法:我不知道任何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/你會發現貨運文摘看起來像

2

我的兩個美分:在開始遵循@ c2h50h的解決方案(偉大的發現,btw!)後,我意識到PayPal有一個打印運輸標籤選項,並可以與您的UPS帳戶無縫集成。我的客戶使用PayPal Pro(這是他們的30美元/月的白色標籤付款解決方案),並且運送信息自動轉移到PayPal,在那裏您可以在執行後打印標籤。注意:這也適用於其他PayPal(免費)平臺。

雖然我在測試中獲得了@ c2h50h的解決方案,但我意識到要爲客戶端創建一個可行的插件需要很多編碼。不過,他們喜歡PayPal解決方案,但我不得不承認,我很難設計出更好/更可靠的WordPress管理頁面。

這裏的的情況下,說明你想要走這條路:

  1. 註冊貝寶臨
  2. 接下來,加入PayPal API信息,以WP電子商務:How to find PayPal API credentials
  3. 設置此功能後, ,登錄貝寶賬戶。
  4. 在訂單旁邊的帳戶頁面上,點擊「打印運送標籤」。
  5. 添加UPS賬戶(或美國郵政編碼)
  6. 客戶可以打印來自PayPal的運輸標籤,並收取他們的PayPal或UPS賬戶。
  7. 將追蹤號碼放入WP電子商務中。

很容易。