Работа из 1С с API PayPal

22.09.24

Интеграция - WEB-интеграция

PayPal - международная платежная система является очень популярной за пределами СНГ для онлайн торговли и не только. API PayPal достаточно хорошо документирован. При попытке связать 1C с PayPal пришлось столкнуться с несколькими нюансами, которыми и хотелось бы поделиться в этой статье с примерами программного кода.

   При попытке связать 1с с PayPal пришлось столкнуться с несколькими нюансами, которыми и хотелось бы поделиться в этой статье. В принципе через API PayPal с аккаунтом можно делать вообще практически все что угодно – не только получать информацию, но при желании даже управлять перечислениями средств, возвратами и т.п. У меня была более простая задача – получить информацию об оплатах клиентов в 1С.

В первую очередь идем за официальной документацией сюда https://developer.paypal.com/docs/api/overview/

После прочтения документации сложилась общая картина взаимодействия с API по принципам похожая на работу с мессенджером Slack – считаю его самым удобным для разработчиков. (если интересно, то пишите комментарии чтобы появился стимул для статьм как работать из 1С со Slack и даже при желании создать там своего бота).

Связь с API PayPal настраивал через HTTP запросы. Вкратце – нужно включить доступ по API и настроить в терминах PayPal что-то типа Приложение, у которого взять нужные для связи ClientID и ClientSecret, далее через спец. запросы получать временный токен доступа для работы и уже используя полученный токен доступа делать запросы. Как включить работу через API см. на картинках.

Получаем то, ради чего мы включали API

Далее желательно проверить работу полученной связки через Postman, инструкция https://developer.paypal.com/docs/api/get-an-access-token-postman/ нам в помощь. У меня долго не получалось получить временный Токен доступа, то ли версия Postman была другая, то ли документация устаревшая, но в итоге если задать получение токена вручную

и вставить также потом вручную токен в ключ Authorization обязательно после слова Bearer c пробелом, то запросы и ответы у меня в Postman заработали.

   Далее уже дело техники и кода в самом 1C. В первую очередь перед запросами получаем программно токен доступа.

 
 Получаем токен доступа

    Здесь ничего сложного, кроме того, что строку ClientD+ClientSecret перед передачей надо обернуть в Base64 – об этом в официальной документации не было ни слова или я плохо искал или это считается по-умолчанию уж не знаю, но так как 1с на зарубежных форумах, к сожалению ((( и рассчитываю что только пока вообще не представлен, то помогли подсказки с других форумов, в частности спасибо ребятам по PHP.

    Ну может теперь можно уже посылать любые нужные нам запросы через API...?!..., но и здесь есть подводные камни. Первое: если ответ API превышает более 100-500 строк (где-то в дебрях настроек PayPal выставляется– не успел нарезать скриншоты, но найти несложно), то ответ разбивается на страницы по 100-500 ответов и находясь в контексте 1С &НаСервере – ни в какую не хотели страницы "перелистываться". Пришлось делать цикл &НаКлиенте и собирать ответы с сервера.

 
 Получаем данные

    Чтобы получить именно список транзакций, где содержится нужная мне информация предварительно следует отдельно её включить и подождать 3 часа. Я не проверял точность и продолжил на следующий день.

   Приведенные примеры должны работать на любой конфигурации с УФ с версией платформы 8.3. Тестировал в КА 2.4 на платформе 8.3.13.

Другие мои публикации на Инфостарте:

Вступайте в нашу телеграмм-группу Инфостарт

PayPal HTTP APIPapPal TransactionPayPal JSON XDTO

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

42700 руб.

03.08.2020    23136    33    24    

26

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17568 руб.

20.12.2024    5194    22    4    

24

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    41075    75    45    

31

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    21737    62    52    

40

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять товары в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически синхронизирует ваш каталог. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12200 руб.

29.08.2025    1522    2    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. twilight_dream 12.05.20 14:53 Сейчас в теме
Интересно. Чем то напомнило REST API вукомерса. правда не понял, пр ичем здесь SOAP в таком случае, если это типичный REST интерфейс с первого взгляда.
2. nastrou1c 22 30.09.20 18:24 Сейчас в теме
Добрый день!
Спасибо за статью. Настраиваю интеграцию с PayPal и она направляет в нужное русло.
Однако у меня возникли сложности при получении токена по вашему алгоритму.
Подскажите, пожалуйста, какие параметры надо задавать в Host и GetTokenURL, чтобы функция сработала.
Если я указываю Host = "https://api.sandbox.paypal.com" и GetTokenURL = "";/"v1/oauth2/token"- получаю ошибку: "Ошибка работы с Интернет: Couldn't resolve host name". И действительно https://api.sandbox.paypal.com браузером не находится.
И если указываю Host = "https://api.sandbox.paypal.com/v1/oauth2/token"; и GetTokenURL = ""; тоже такая ошибка.
Хотя в браузере "https://api.sandbox.paypal.com/v1/oauth2/token" открывается.

p.s. при получении токена по инструкции "https://developer.paypal.com/docs/api/get-an-access-token-postman/" нужно не забывать указывать параметры подключения для sandbox аккаунта подключения к api, т.к. адрес "https://api.sandbox.paypal.com/v1/oauth2/token" подходит только для них и видимо это было причиной проблемы о которой вы упоминаете в статье.
Прикрепленные файлы:
4. da_1c 198 08.02.21 19:19 Сейчас в теме
(2) хост без https
nastrou1c; +1 Ответить
3. YA_1130000018920043 07.02.21 19:00 Сейчас в теме
Скажите в кудир потому данные корректно можно вытянуть?
5. da_1c 198 08.02.21 19:19 Сейчас в теме
(3) что такое кудир?
6. YA_1130000018920043 08.02.21 19:51 Сейчас в теме
(5) как с вами связаться? )
7. KrivosheevEV 16.03.21 15:37 Сейчас в теме
Для работы с API PayPal нужно иметь корпоративный счёт?
Можно работать как физ.лицо?
Для отправки сообщения требуется регистрация/авторизация