Работа из 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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

42700 руб.

03.08.2020    24713    38    26    

29

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

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

24000 руб.

02.02.2021    23419    73    52    

44

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    6686    28    4    

30

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

Расширение для 1С:Управление Автотранспортом (ПРОФ) автоматизирует мониторинг транспорта (пробег, расход, координаты, стоянки) и формирование путевых листов. Включает отчеты, фоновую загрузку данных, работает без активации константы мониторинга. Формы — с открытым кодом, общие модули защищены. Доступна демо-версия. Снижает ручной ввод и повышает точность учета.

23034 руб.

25.05.2021    16172    44    8    

19
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 203 08.02.21 19:19 Сейчас в теме
(2) хост без https
nastrou1c; +1 Ответить
3. YA_1130000018920043 07.02.21 19:00 Сейчас в теме
Скажите в кудир потому данные корректно можно вытянуть?
5. da_1c 203 08.02.21 19:19 Сейчас в теме
(3) что такое кудир?
6. YA_1130000018920043 08.02.21 19:51 Сейчас в теме
(5) как с вами связаться? )
7. KrivosheevEV 16.03.21 15:37 Сейчас в теме
Для работы с API PayPal нужно иметь корпоративный счёт?
Можно работать как физ.лицо?
Для отправки сообщения требуется регистрация/авторизация