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/capture
- POST /v1/billing/subscriptions/ID/suspend
- GET /v1/billing/subscriptions/ID/transactions
Missing endpoints
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
Usage
import "github.com/plutov/paypal"
c, err := paypal.NewClient("clientID", "secretID", paypal.APIBaseSandBox)
c.SetLog(os.Stdout)
accessToken, err := c.GetAccessToken()
How to Contribute
- Fork a repository
- Add/Fix something
- Check that tests are passing
- Create PR
Current contributors:
Tests
- Unit tests:
go test -v ./...
- Integration tests:
go test -tags=integration