2012-02-17 58 views
0

我使用的是網站付款標準,並有許多我想申請稅率的郵政編碼(我可以一次手動輸入一個到PayPal的標準稅收規則)。有沒有辦法讓結帳解決方案連接到我的數據庫(一個MySQL數據庫),我的郵政編碼+稅率?在購物車體驗中是否有可能發生這種情況?使用php/mysql將第三方稅表整合到paypal中

回答

0

是的,您可以使用PayPal即時更新API。

簡而言之,您需要在您的服務器上設置一個腳本,該腳本接受來自PayPal的收貨地址數據的POST,並要求您返回相應的響應作爲輸出,包括稅額/運費金額。這將在結賬時用作運費/稅額。

看一看https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables#id09CA80W0Z5Zhttps://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_CallbackAPI

對於網站付款標準,基地一鍵關機的形式如下代碼:

 <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="paypal"> 
     <input type="hidden" name="upload" value="1"> 
     <input type="hidden" name="cmd" value="_cart"> 
     <input type="hidden" name="business" value="[email protected]"> 
     <input type="hidden" name="currency_code" value="USD"> 
     <input type="hidden" name="return" value="https://link-to-your-return-script.php"> 

     <!--item 1 --> 
     <input type="hidden" name="quantity_1" value="1"> 
     <input type="hidden" name="item_name_1" value="Gladiator - Extended"> 
     <input type="hidden" name="item_number_1" value="3425654"> 
     <input type="hidden" name="amount_1" value="10"> 


     <!--item 2 --> 
     <input type="hidden" name="quantity_2" value="1"> 
     <input type="hidden" name="item_name_2" value="Casino - Extended "> 
     <input type="hidden" name="item_number_2" value="4354567754"> 
     <input type="hidden" name="amount_2" value="2"> 

     <!--CALLBACK PARAMETERS --> 
        <input type="hidden" name="callback_url" value="https://link-to-your-callback-script.php"> 
        <input type="hidden" name="callback_timeout" value="4"> 
        <input type="hidden" name="callback_version" value="61">   <!--Required! --> 

        <input type="hidden" name="fallback_shipping_option_name_0" value="Option 1"> 
        <input type="hidden" name="fallback_shipping_option_amount_0" value="1"> 
        <input type="hidden" name="fallback_shipping_option_is_default_0" value="1"> 

        <input type="hidden" name="fallback_shipping_option_name_1" value="Option 2"> 
        <input type="hidden" name="fallback_shipping_option_amount_1" value="3"> 
        <input type="hidden" name="fallback_shipping_option_is_default_1" value="0"> 

        <input type="hidden" name="fallback_insurance_option_offered" value="0"> 


     <!--CALLBACK PARAMETERS END--> 

<input type="submit" value="Upload cart"> 

</form> 

每當有買家要結帳,您將收到的數據POST上https://link-to-your-callback-script.php

下面是一個例子POST有效載荷,其可能會收到:

CallbackRequest

METHOD=CallbackRequest 
CALLBACKVERSION=57 
TOKEN=EC-7TF47275R51235219 
LOCALECODE=en_US 
CURRENCYCODE=USD 
L_NAME0=Item name 
L_NUMBER0=
L_DESC0=Description of item goes here 
L_AMT0=1.00 
L_QTY0=1 
L_ITEMWEIGHTUNIT0= 
L_ITEMWEIGHTVALUE0=0 
L_ITEMHEIGHTUNIT0= 
L_ITEMHEIGHTVALUE0=0 
L_ITEMWIDTHUNIT0= 
L_ITEMWIDTHVALUE0=0 
L_ITEMLENGTHUNIT0= 
L_ITEMLENGTHVALUE0=0 
SHIPTOSTREET=1 Main St 
SHIPTOCITY=San Jose 
SHIPTOSTATE=CA 
SHIPTOCOUNTRY=US 
SHIPTOZIP=95131 
SHIPTOSTREET2= 

在這之後,你必須計算出相應的稅收/出貨金額,並返回一個適當的CallBackResponse消息。例如:
;

CallBackResponse:

METHOD=CallbackResponse& 
OFFERINSURANCEOPTION=true& 
L_SHIPPINGOPTIONLABEL0=UPS Next Day Air TEST5& 
L_SHIPPINGOPTIONAMOUNT0=1.00& 
L_TAXAMT0=0.00& 
L_INSURANCEAMOUNT0=0.00& 
L_SHIPPINGOPTIONISDEFAULT0=false& 
L_SHIPPINGOPTIONLABEL1=UPS Express 2 Days TEST4& 
L_SHIPPINGOPTIONAMOUNT1=1.50& 
L_TAXAMT1=0.00& 
L_INSURANCEAMOUNT1=0.0& 
L_SHIPPINGOPTIONISDEFAULT1=true& 
L_SHIPPINGOPTIONLABEL2=UPS Ground2 to 7 Days TEST3& 
L_SHIPPINGOPTIONAMOUNT2=1.50& 
L_TAXAMT2=0.00& 
L_INSURANCEAMOUNT2=0.00& 
L_SHIPPINGOPTIONISDEFAULT2=false 

一旦貝寶已經收到此信息時,它會自動更新發貨/稅後費用。

欲瞭解更多信息,請參閱https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECInstantUpdateAPI

+0

感謝您的評論。我對此並不熟悉,並一直試圖通過使用示例腳本開始快速結賬交易(https://cms.paypal.com/cms_content/US/en_US/files/developer/soap_ECSetExpressCheckout_php.txt )。你知道我在哪裏可以找到示例或示例代碼嗎? – sharataka 2012-02-20 03:56:46

+0

是的,我會掀起一個例子,並將其添加到我的答覆中。 – Robert 2012-02-20 10:14:56

+0

請注意,這將用於快速結帳,而不是您前面提到的網站付款標準。 – Robert 2012-02-20 11:37:37