paypal/README.md

123 lines
3.7 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
2021-01-20 10:30:37 +01:00
## Go client for PayPal REST API
## Coverage
* 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
* 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
* GET /v1/payments/sale/**ID**
* POST /v1/payments/sale/**ID**/refund
* 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
* POST /v2/checkout/orders
* GET /v2/checkout/orders/**ID**
* PATCH /v2/checkout/orders/**ID**
* POST /v2/checkout/orders/**ID**/authorize
* POST /v2/checkout/orders/**ID**/capture
### Billing plans (payments)
* 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
2021-01-20 10:30:37 +01:00
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
2021-01-20 10:30:37 +01:00
import "github.com/plutov/paypal/v4"
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
2021-01-03 10:28:52 +01:00
accessToken, err := c.GetAccessToken(context.Background())
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`