Как я могу установить налоги и сделать их включенными в стоимость подписки PayPal SDK - PullRequest
1 голос
/ 29 апреля 2020

Так что я живу в Европе, и мы обязаны, чтобы налоги уже были включены в цену, отображаемую для пользователя, и мне было интересно, как я мог бы сделать это с Paypal SDK.

Мои billing_plan_attributes:

billing_plan_attributes = {
            "name": request.args['name'],
            "description": request.args['description'],
            "merchant_preferences": {
                "auto_bill_amount": "yes",
                "cancel_url": "https://ruby-eu.com/profile/settings/paypal/cancel/token",
                "initial_fail_amount_action": "continue",
                "max_fail_attempts": "1",
                "return_url": 'https://ruby-eu.com/profile/settings/paypal/subscribe/execute',
                "setup_fee": {
                    "currency": request.args['currency'],
                    "value": request.args['setup_fee']
                }
            },
            "payment_definitions": [
                {
                    "amount": {
                        "currency": request.args['currency'],
                        "value": request.args['amount']
                    },
                    "cycles": request.args['cycles'],
                    "frequency": request.args['frequency'],
                    "frequency_interval": request.args['frequency_interval'],
                    "name": request.args['payment_name'],
                    "type": request.args['payment_type'],
                }
            ],
            "type": request.args['type']
        }

Я пытался добавить

"taxes": {
                    "percentage": "23",
                    "inclusive": True
                }

внутри merchant_preferences, payment_defenitions и под type, но когда я запускаю его, они возвращают

Problem while creating a new plan: Incoming JSON request does not map to API request

, и я не не знаю, как я могу решить эту проблему. Если вам интересно, если проблема в другом, я убрал налоги с JSON и запустил, и это сработало.

1 Ответ

1 голос
/ 29 апреля 2020

Прежде всего известно, что устаревший объект плана выставления счетов в Python SDK НЕ соответствует новому объекту планов в новом API подписок. Если вы хотите использовать API подписок (и вам, вероятно, следует), вам нужно интегрироваться с прямыми вызовами API HTTPS, а НЕ со старыми SDK. В основном, посмотрите на вызовы CURL, которые вы видите здесь: https://developer.paypal.com/docs/subscriptions/integrate/ ... и реализуйте их эквиваленты из Python.

Объекты планов биллинга API подписок do поддерживает синтаксис, который вы пытались добавить, так что я предполагаю, что вы его взяли: https://developer.paypal.com/docs/api/subscriptions/v1/#plans_create

...