Golang client for PayPal REST API
Go to file
jrapoport 476102bb76
Order should include payments & purchase_units (#179)
* Order should include purchase_units

* PayerWithNameAndPhone needs Address for Order

* add SellerProtection to CaptureAmount

* add RecipientType(s)

* add RecipientType(s)

* BatchHeader.BatchStatus values
2020-11-17 10:59:42 +01:00
.github remove workflows 2020-05-31 18:18:05 +02:00
.gitignore Add verify webhook signature response (#117) 2019-09-19 08:03:42 -07:00
.travis.yml Go Modules support (#110) 2019-08-27 12:38:42 +02:00
authorization.go Auth capture idempotency and refund idempotency (#143) 2020-04-21 09:23:44 -07:00
billing.go Subscriptions, Subscription plans and Products API (#151) 2020-05-30 22:14:19 -07:00
client.go Include the 'items' in the response when capturing orders 2020-01-06 15:27:03 +01:00
const.go Order should include payments & purchase_units (#179) 2020-11-17 10:59:42 +01:00
doc.go Update package name 2019-08-21 15:50:20 +02:00
example_test.go Order should include payments & purchase_units (#179) 2020-11-17 10:59:42 +01:00
filter_test.go Update package name 2019-08-21 15:50:20 +02:00
filter.go Update package name 2019-08-21 15:50:20 +02:00
go.mod Subscriptions, Subscription plans and Products API (#151) 2020-05-30 22:14:19 -07:00
go.sum Subscriptions, Subscription plans and Products API (#151) 2020-05-30 22:14:19 -07:00
identity.go Update package name 2019-08-21 15:50:20 +02:00
integration_test.go Order should include payments & purchase_units (#179) 2020-11-17 10:59:42 +01:00
LICENSE.md Update year in LICENSE.md 2019-03-27 18:13:18 +01:00
order.go Auth capture idempotency and refund idempotency (#143) 2020-04-21 09:23:44 -07:00
patch.go Subscriptions, Subscription plans and Products API (#151) 2020-05-30 22:14:19 -07:00
payout.go Update package name 2019-08-21 15:50:20 +02:00
products.go Order should include payments & purchase_units (#179) 2020-11-17 10:59:42 +01:00
README.md Remove examples, keep godoc as source of truth (#154) 2020-05-31 17:02:56 +02:00
sale.go Revert "Some updates to refund endpoint (#121)" (#147) 2020-05-04 13:17:53 -07:00
subscription_plan.go Order should include payments & purchase_units (#179) 2020-11-17 10:59:42 +01:00
subscription.go Order should include payments & purchase_units (#179) 2020-11-17 10:59:42 +01:00
transaction_search.go Subscriptions, Subscription plans and Products API (#151) 2020-05-30 22:14:19 -07:00
types.go Order should include payments & purchase_units (#179) 2020-11-17 10:59:42 +01:00
unit_test.go Update item struct to match paypal model (#129) 2019-11-20 22:12:36 -08:00
vault.go Update package name 2019-08-21 15:50:20 +02:00
webhooks.go Add functions of create, get, update, delete and list webhooks (#146) 2020-05-02 16:42:37 +02:00
webprofile.go Update package name 2019-08-21 15:50:20 +02:00

Go Report Card Build Status Godoc

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

// If using Go Modules
// import "github.com/plutov/paypal/v3" 
import "github.com/plutov/paypal"

// Create a client instance
c, err := paypal.NewClient("clientID", "secretID", paypal.APIBaseSandBox)
c.SetLog(os.Stdout) // Set log to terminal 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