From a678ccb4b1d1e262b1597c8b7e1136c521f978d6 Mon Sep 17 00:00:00 2001 From: Alex Pliutau Date: Sun, 31 May 2020 17:02:56 +0200 Subject: [PATCH] Remove examples, keep godoc as source of truth (#154) --- README.md | 260 +----------------------------------------------------- 1 file changed, 2 insertions(+), 258 deletions(-) diff --git a/README.md b/README.md index 1503a7b..ebce42b 100644 --- a/README.md +++ b/README.md @@ -77,13 +77,12 @@ ### 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** -### New Client +### Usage ```go -import "github.com/plutov/paypal" - // 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) @@ -92,261 +91,6 @@ c.SetLog(os.Stdout) // Set log to terminal stdout accessToken, err := c.GetAccessToken() ``` -### Get authorization by ID - -```go -auth, err := c.GetAuthorization("2DC87612EK520411B") -``` - -### Capture authorization - -```go -capture, err := c.CaptureAuthorization(authID, &paypal.Amount{Total: "7.00", Currency: "USD"}, true) -``` - -### Void authorization - -```go -auth, err := c.VoidAuthorization(authID) -``` - -### Reauthorize authorization - -```go -auth, err := c.ReauthorizeAuthorization(authID, &paypal.Amount{Total: "7.00", Currency: "USD"}) -``` - -### Get Sale by ID - -```go -sale, err := c.GetSale("36C38912MN9658832") -``` - -### Refund Sale by ID - -```go -// Full -refund, err := c.RefundSale(saleID, nil) -// Partial -refund, err := c.RefundSale(saleID, &paypal.Amount{Total: "7.00", Currency: "USD"}) -``` - -### Get Refund by ID - -```go -refund, err := c.GetRefund("O-4J082351X3132253H") -``` - -### Get Order by ID - -```go -order, err := c.GetOrder("O-4J082351X3132253H") -``` - -### Create an Order - -```go -order, err := c.CreateOrder(paypal.OrderIntentCapture, []paypal.PurchaseUnitRequest{paypal.PurchaseUnitRequest{ReferenceID: "ref-id", Amount: paypal.Amount{Total: "7.00", Currency: "USD"}}}) -``` - -### Update Order by ID - -```go -order, err := c.UpdateOrder("O-4J082351X3132253H", []paypal.PurchaseUnitRequest{}) -``` - -### Authorize Order - -```go -auth, err := c.AuthorizeOrder(orderID, paypal.AuthorizeOrderRequest{}) -``` - -### Capture Order - -```go -capture, err := c.CaptureOrder(orderID, paypal.CaptureOrderRequest{}) -``` - -### Identity - -```go -token, err := c.GrantNewAccessTokenFromAuthCode("", "http://example.com/myapp/return.php") -// ... or by refresh token -token, err := c.GrantNewAccessTokenFromRefreshToken("") -``` - -### Retreive user information - -```go -userInfo, err := c.GetUserInfo("openid") -``` - -### Create single payout to email - -```go -payout := paypal.Payout{ - SenderBatchHeader: &paypal.SenderBatchHeader{ - EmailSubject: "Subject will be displayed on PayPal", - }, - Items: []paypal.PayoutItem{ - paypal.PayoutItem{ - RecipientType: "EMAIL", - Receiver: "single-email-payout@mail.com", - Amount: &paypal.AmountPayout{ - Value: "15.11", - Currency: "USD", - }, - Note: "Optional note", - SenderItemID: "Optional Item ID", - }, - }, -} - -payoutResp, err := c.CreateSinglePayout(payout) -``` - -### Get payout by ID - -```go -payout, err := c.GetPayout("PayoutBatchID") -``` - -### Get payout item by ID - -```go -payoutItem, err := c.GetPayoutItem("PayoutItemID") -``` - -### Cancel unclaimed payout item by ID - -```go -payoutItem, err := c.CancelPayoutItem("PayoutItemID") -``` - -### Create web experience profile - -```go -webprofile := WebProfile{ - Name: "YeowZa! T-Shirt Shop", - Presentation: Presentation{ - BrandName: "YeowZa! Paypal", - LogoImage: "http://www.yeowza.com", - LocaleCode: "US", - }, - - InputFields: InputFields{ - AllowNote: true, - NoShipping: NoShippingDisplay, - AddressOverride: AddrOverrideFromCall, - }, - - FlowConfig: FlowConfig{ - LandingPageType: LandingPageTypeBilling, - BankTXNPendingURL: "http://www.yeowza.com", - }, -} - -result, err := c.CreateWebProfile(webprofile) -``` - -### Get web experience profile - -```go -webprofile, err := c.GetWebProfile("XP-CP6S-W9DY-96H8-MVN2") -``` - -### List web experience profile - -```go -webprofiles, err := c.GetWebProfiles() -``` - -### Update web experience profile - -```go - -webprofile := WebProfile{ - ID: "XP-CP6S-W9DY-96H8-MVN2", - Name: "Shop YeowZa! YeowZa! ", -} -err := c.SetWebProfile(webprofile) -``` - -### Delete web experience profile - -```go -err := c.DeleteWebProfile("XP-CP6S-W9DY-96H8-MVN2") -``` - -### Vault - -```go -// Store CC -c.StoreCreditCard(paypal.CreditCard{ - Number: "4417119669820331", - Type: "visa", - ExpireMonth: "11", - ExpireYear: "2020", - CVV2: "874", - FirstName: "Foo", - LastName: "Bar", -}) - -// Delete it -c.DeleteCreditCard("CARD-ID-123") - -// Edit it -c.PatchCreditCard("CARD-ID-123", []paypal.CreditCardField{ - paypal.CreditCardField{ - Operation: "replace", - Path: "/billing_address/line1", - Value: "New value", - }, -}) - -// Get it -c.GetCreditCard("CARD-ID-123") - -// Get all stored credit cards -c.GetCreditCards(nil) -``` - -### Webhooks -```go -// Create a webhook -c.CreateWebhook(paypal.CreateWebhookRequest{ - URL: "webhook URL", - EventTypes: []paypal.WebhookEventType{ - paypal.WebhookEventType{ - Name: "PAYMENT.AUTHORIZATION.CREATED", - }, - }, -}) - -// Update a registered webhook -c.UpdateWebhook("WebhookID", []paypal.WebhookField{ - paypal.WebhookField{ - Operation: "replace", - Path: "/event_types", - Value: []interface{}{ - map[string]interface{}{ - "name": "PAYMENT.SALE.REFUNDED", - }, - }, - }, -}) - -// Get a registered webhook -c.GetWebhook("WebhookID") - -// Delete a webhook -c.DeleteWebhook("WebhookID") - -// List registered webhooks -c.ListWebhooks(paypal.AncorTypeApplication) - -``` - ### How to Contribute * Fork a repository