mysql运费统计_php 计算UPS运费 ( UPS shipping cost )

本文提供了一个使用PHP实现的UPS运费计算器的教程。通过创建HTML表单,获取用户输入的包装、服务类型、重量等信息,然后将这些信息传递给UPS的API来计算运费。此外,还提到了如何获取UPS的开发者密钥和访问密钥以进行更高级的集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pretty much every website that implements a shopping

cart

with online payment and checkout of products to be shipped, needs to

have a shipping calculator. Depending on the company or companies that

you choose to ship the products with, you'll need to read the

documentation of their web service. One popular choice is UPS, and

because the documentation on implementing their shipping calculator is

scarce, that's the one we're going to code in this tutorial.

First you may want to sign up with UPS.com. It's not really needed for

the implementation we're doing in this tutorial, however if you'll want

to go more advanced, you'll need a developer key and an access key, and

at the end of this tutorial there's more information on that.

Let's start with creating the form. In your real application

you're probably going to fill your own package size and weight

depending on the products ordered. But here we'll be entering these

details through the form.

前提: 已开启apache cURL 模块

Address Type:

Residential

Commercial

Packaging:

Customer Packaging

UPS Letter Envelope

UPS Tube

UPS Express Box

UPS Worldwide 25KG Box

UPS Worldwide 10KG Box

Service Type:

Next Day Air Early AM

Next Day Air

Next Day Air Saver

2nd Day Air AM

2nd Day Air

3 Day Select

Ground

Canada Standard

Worldwide Express

Worldwide Express Plus

Worldwide Expedited

Worldwide Saver

Rate:

Daily Pickup service

Oncall Air Pickup Web (arrange on the web for UPS to pick up my packages)

Oncall Air Pickup Phone (arrange by phone for UPS to pick up my packages)

One Time Pickup

Drop-box Letter Center

Customer Counter

Package Weight: pounds

Package Length: inches

Package Width: inches

Package Height: inches

From Zip:

From City:

From Country:

To Zip:

To City:

To Country:

As you can see, there are some specific codes that specify the service type, rate and package. You should check the UPS Online Tools Developer's Guide

for a complete list on these.

Now that we got the HTML part ready, let's do the PHP. The following PHP

code should be placed above the HTML form, in the same file

(UPSShip.php.)

if($_POST['txtFromZip'])

{

$Url = join("&", array("http://www.ups.com/using/services/rave/qcostcgi.cgi?accept_UPS_license_agreement=yes",

"10_action=3",

"13_product=".$_POST['selService'],

"14_origCountry=".$_POST['txtFromCountry'],

"15_origPostal=".$_POST['txtFromZip'],

"origCity=".$_POST['txtFromCity'],

"19_destPostal=".$_POST['txtToZip'],

"20_destCity=".$_POST['txtToCity'],

"22_destCountry=".$_POST['txtToCountry'],

"23_weight=".$_POST['txtPackWeight'],

"47_rateChart=".$_POST['selRate'],

"48_container=".$_POST['selPackaging'],

"49_residential=".$_POST['selResidential'],

"25_length=".$_POST['txtPackLength'],

"26_width=".$_POST['txtPackWidth'],

"27_height=".$_POST['txtPackHeight']));

$Resp = fopen($Url, "r");

while(!feof($Resp))

{

$Result = fgets($Resp, 500);

$Result = explode("%", $Result);

$Err = substr($Result[0], -1);

switch($Err)

{

case 3:

$ResCode = $Result[8];

break;

case 4:

$ResCode = $Result[8];

break;

case 5:

$ResCode = $Result[1];

break;

case 6:

$ResCode = $Result[1];

break;

}

}

fclose($Resp);

if(!$ResCode)

{

$ResCode = "An error occured.";

}

echo $ResCode;

}

?>

All that we're doing is to pass the values of the form fields to an URL

at ups.com. That page will then return the shipping cost, or a message

such as "The requested service is invalid from the selected origin."

Form.png

Getting a Developer's Key and an Access Key from UPS

There are more options provided by UPS not only in calculating the

shipping cost, but also in buying and printing the shipping label. More

information on those services is available at the UPS site; it's likely

that you'll be needing a Developer's Key and an Access Key

for that. To get one is as simple as 1, 2, 3... 4, 5, 6. Or is it?

It's actually not that easy to obtain the access key, you have to go through a number of forms.

Then you need to sign up for UPS OnLine Tools by entering more

information about you and your company, including your account number

(you got this in an email from UPS when you signed up.)

You know you're signed up with UPS OnLine Tools when you get this

message "Thank you for joining the growing community of UPS OnLine® Tool

end users. Upon your agreement to the developer's license, a

Developer's Key has been issued and will be e-mailed shortly to the

address you provided during registration. Please continue by selecting

one of the UPS OnLine

Tools

listed below."

Then you get emailed a download key, followed by an access key. "An

Access Key provides exactly that -- access to UPS systems, which hold

the information you or your customers need to ship, track, or rate a

package. Your Developer's Key lets you get UPS OnLine Tool

documentation; the Access Key lets you actually implement UPS OnLine®

Tools."

In order to get the access key, you need to go through one more form,

which should be already filled with your current account information.

Finally you should receive your Access Key in an email, and in the

confirmation message:

Your HTML Access Key is XXXXXXXXXXXXXX.

You now have access to the following UPS OnLine® Tools:

UPS Rates & Service Selection HTML

, Version 1.0

UPS Tracking HTML, Version 3.0

参考来源:

UPS

USPS

ups.rar (1.4 KB)

下载次数: 9

USPS.rar (4.5 KB)

下载次数: 7

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-07-31 03:23

浏览 5223

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值