Go-клиент для PayPal API
29 декабря 2015 Golang 5843 просмотра
В одном своем проекте, backend которого написан на Го, нам необходимо было использовать PayPal API. Для многих языков существуют официальные SDK библиотеки, но в случае с PayPal SDK для Go поиск не привел к чему-то конкретному, была найдена всего пара проектов, функционала которых нам не хватало.


Поиск выдает 5 результатов - https://github.com/search?q=paypal+golang

Нам нужен был клиент с основным функционалом и возможностью его расширения и улучшения. По этой причине и было задумано написать свой велосипед.

Что сделано на текущий момент, список доступных функций:
  • POST /v1/oauth2/token
  • POST /v1/payments/payment
  • GET /v1/payments/payment/ID
  • GET /v1/payments/payment
  • GET /v1/payments/authorization/ID
  • POST /v1/payments/authorization/ID/capture
  • POST /v1/payments/authorization/ID/void
  • POST /v1/payments/authorization/ID/reauthorize
  • GET /v1/payments/sale/ID
  • POST /v1/payments/sale/ID/refund
  • GET /v1/payments/refund/ID
  • GET /v1/payments/orders/ID
  • POST /v1/payments/orders/ID/authorize
  • POST /v1/payments/orders/ID/capture
  • POST /v1/payments/orders/ID/do-void

Тесты, автоматический запуск при любом пуше в TravisCI. travis.yml:
language: go
go:
 - 1.5
install:
 - export PATH=$PATH:$HOME/gopath/bin
script:
 - go test -v

godoc документация https://godoc.org/github.com/logpacker/paypalsdk

Все свои наработки я выложил под MIT лицензией в GitHub. В планах сделать некую стандартную библиотеку для Go, сделать полное покрытие API.

Мы ведем и поддерживаем документацию на странице проекта в GitHab.

Ждем ваших коммитов и pull-реквестов на logpacker/paypalsdk.