Работа из 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С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

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

36000 руб.

03.08.2020    18059    18    22    

17

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20220    13    19    

18

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    1825    1    0    

3

WEB-интеграция Программист Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    18156    49    50    

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