Интеграция налоговой таблицы третьей стороны в PayPal с использованием php / mysql - PullRequest
0 голосов
/ 17 февраля 2012

Я использую стандарт платежей через веб-сайт и у меня есть множество почтовых индексов, которые я хотел бы подать за налоговыми ставками (больше, чем я могу вручную вводить по одному за раз в стандартные налоговые правила Paypal). Есть ли способ для решения для проверки подключиться к моей базе данных (базе данных MySQL), где у меня есть почтовые индексы + налоговые ставки? Возможно ли, чтобы все это происходило в корзине?

1 Ответ

0 голосов
/ 18 февраля 2012

Да, вы можете использовать API мгновенного обновления PayPal.

В двух словах; вам нужно настроить скрипт на вашем сервере, который принимает POST с данными адреса доставки от PayPal и требует, чтобы вы возвращали соответствующий ответ в виде вывода, включая сумму налога / стоимость доставки. Затем он будет использован во время оформления заказа в качестве суммы доставки / налога.

Посмотрите на https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables#id09CA80W0Z5Z и https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_CallbackAPI

Для платежей через веб-сайт Standard, нажмите кнопку с кодом следующей формы:

        <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="name@test.com">
        <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=0123456789
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

Как только PayPal получит эту информацию, он автоматически обновит стоимость доставки / налогов.

Для получения дополнительной информации см. https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECInstantUpdateAPI

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...