paypal/README.md

111 lines
3.8 KiB
Markdown
Raw Normal View History

2019-08-21 15:50:20 +02:00
[![Go Report Card](https://goreportcard.com/badge/plutov/paypal)](https://goreportcard.com/report/plutov/paypal)
[![Build Status](https://travis-ci.org/plutov/paypal.svg?branch=master)](https://travis-ci.org/plutov/paypal)
[![Godoc](http://img.shields.io/badge/godoc-reference-blue.svg?style=flat)](https://godoc.org/github.com/plutov/paypal)
2015-10-15 08:10:03 +02:00
2019-03-26 15:39:18 +01:00
### Go client for PayPal REST API
2016-11-04 05:35:51 +01:00
### Coverage
2019-03-27 09:27:53 +01:00
2015-11-25 11:50:38 +01:00
* POST /v1/oauth2/token
* POST /v1/identity/openidconnect/tokenservice
* GET /v1/identity/openidconnect/userinfo/?schema=**SCHEMA**
* POST /v1/payments/payouts
* GET /v1/payments/payouts/**ID**
* GET /v1/payments/payouts-item/**ID**
* POST /v1/payments/payouts-item/**ID**/cancel
2016-11-01 13:05:20 +01:00
* GET /v1/payment-experience/web-profiles
* POST /v1/payment-experience/web-profiles
* GET /v1/payment-experience/web-profiles/**ID**
* PUT /v1/payment-experience/web-profiles/**ID**
* DELETE /v1/payment-experience/web-profiles/**ID**
* GET /v2/payments/authorizations/**ID**
* POST /v2/payments/authorizations/**ID**/capture
* POST /v2/payments/authorizations/**ID**/void
* POST /v2/payments/authorizations/**ID**/reauthorize
2020-05-02 17:00:45 +02:00
* GET /v1/payments/sale/**ID**
* POST /v1/payments/sale/**ID**/refund
2019-03-27 09:27:53 +01:00
* GET /v2/payments/refund/**ID**
* POST /v1/reporting/transactions
#Vault
* POST /v1/vault/credit-cards
* DELETE /v1/vault/credit-cards/**ID**
* PATCH /v1/vault/credit-cards/**ID**
* GET /v1/vault/credit-cards/**ID**
* GET /v1/vault/credit-cards
#Checkout
2019-06-27 06:22:30 +02:00
* POST /v2/checkout/orders
2019-04-21 05:08:48 +02:00
* GET /v2/checkout/orders/**ID**
2019-07-30 15:12:58 +02:00
* PATCH /v2/checkout/orders/**ID**
2019-04-21 05:08:48 +02:00
* POST /v2/checkout/orders/**ID**/authorize
* POST /v2/checkout/orders/**ID**/capture
#Billing plans (payments)
2020-05-02 17:00:45 +02:00
* GET /v1/payments/billing-plans
* POST /v1/payments/billing-plans
* PATCH /v1/payments/billing-plans/***ID***
* POST /v1/payments/billing-agreements
* POST /v1/payments/billing-agreements/***TOKEN***/agreement-execute
#Notifications
* POST /v1/notifications/webhooks
* GET /v1/notifications/webhooks
* GET /v1/notifications/webhooks/**ID**
* PATCH /v1/notifications/webhooks/**ID**
* DELETE /v1/notifications/webhooks/**ID**
* POST /v1/notifications/verify-webhook-signature
#Products (Catalog)
* POST /v1/catalogs/products
* PATCH /v1/catalogs/products/**ID**
* GET /v1/catalogs/products/**ID**
* GET /v1/catalogs/products
#Billing Plans (Subscriptions)
* POST /v1/billing/plans
* PATCH /v1/billing/plans/**ID**
* GET /v1/billing/plans/**ID**
* GET /v1/billing/plans
* POST /v1/billing/plans/**ID**/activate
* POST /v1/billing/plans/**ID**/deactivate
* POST /v1/billing/plans/**ID**/update-pricing-schemes
#Subscriptions
* POST /v1/billing/subscriptions
* PATCH /v1/billing/subscriptions/**ID**
* GET /v1/billing/subscriptions/**ID**
* POST /v1/billing/subscriptions/**ID**/activate
* POST /v1/billing/subscriptions/**ID**/cancel
* POST /v1/billing/subscriptions/**ID**/revise
* POST /v1/billing/subscriptions/**ID**/capture
* POST /v1/billing/subscriptions/**ID**/suspend
* GET /v1/billing/subscriptions/**ID**/transactions
2016-11-04 05:35:51 +01:00
### Missing endpoints
2019-08-21 15:50:20 +02:00
It is possible that some endpoints are missing in this SDK Client, but you can use built-in **paypal** functions to perform a request: **NewClient -> NewRequest -> SendWithAuth**
2015-12-17 08:58:31 +01:00
### Usage
2015-10-30 08:02:32 +01:00
```go
// If using Go Modules
// import "github.com/plutov/paypal/v3"
import "github.com/plutov/paypal"
2015-10-30 08:02:32 +01:00
// Create a client instance
2019-08-21 15:50:20 +02:00
c, err := paypal.NewClient("clientID", "secretID", paypal.APIBaseSandBox)
2016-05-14 14:38:24 +02:00
c.SetLog(os.Stdout) // Set log to terminal stdout
2015-10-30 08:02:32 +01:00
2015-11-20 07:38:40 +01:00
accessToken, err := c.GetAccessToken()
2015-11-16 06:11:27 +01:00
```
2016-11-04 05:35:51 +01:00
### How to Contribute
2015-12-29 10:30:23 +01:00
* Fork a repository
* Add/Fix something
2017-03-02 04:43:23 +01:00
* Check that tests are passing
* Create PR
2019-07-22 15:02:18 +02:00
Current contributors:
- [Roopak Venkatakrishnan](https://github.com/roopakv)
2019-07-22 15:03:15 +02:00
- [Alex Pliutau](https://github.com/plutov)
2019-07-22 15:02:18 +02:00
2017-03-02 04:43:23 +01:00
### Tests
2019-08-21 15:50:20 +02:00
* Unit tests: `go test -v ./...`
2017-04-05 05:47:11 +02:00
* Integration tests: `go test -tags=integration`