2012-02-17 72 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