paddle

package module
v2.0.0-...-c9461d8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2022 License: MIT Imports: 19 Imported by: 0

README

Go Report Card Workflow Status GitHub Coverage Godoc Releases LICENSE

Paddle

Go library to work with Paddle API

Installation

go get github.com/lcd1232/paddle/v2

Quickstart

Handle webhooks
package main

import (
	"fmt"
	"log"
	"net/http"

	"github.com/lcd1232/paddle/v2"
)

func main() {
	// omitting errors for simplicity
	wc, _ := paddle.NewWebhookClient("YOURPUBLICKEY") // get it from here https://vendors.paddle.com/public-key
	helloHandler := func(w http.ResponseWriter, req *http.Request) {
		_ = req.ParseForm()
		form := req.PostForm
		alertType, _ := paddle.GetAlertName(form)
		switch alertType {
		case paddle.AlertSubscriptionCreated:
			webhook, _ := wc.ParseSubscriptionCreatedWebhook(form)
			fmt.Println(webhook.NextBillDate)
		case paddle.AlertSubscriptionPaymentSucceeded:
			webhook, _ := wc.ParseSubscriptionPaymentSucceededWebhook(form)
			fmt.Println(webhook.BalanceEarnings)
		}
	}

	http.HandleFunc("/paddle", helloHandler)
	log.Fatal(http.ListenAndServe(":8080", nil))
}
Using API

If you don't need authentication:

package main

import (
	"context"

	"github.com/lcd1232/paddle/v2"
)

func main() {
	client, err := paddle.NewClient(paddle.Settings{}) // you can use it for methods without auth
	if err != nil {
		panic(err)
	}
	order, err := client.Order(context.Background(), "219233-chre53d41f940e0-58aqh94971")
	if err != nil {
		panic(err)
	}
}

With authentication:

package main

import (
	"context"
	"fmt"

	"github.com/lcd1232/paddle/v2"
)

func main() {
	client, err := paddle.NewClient(paddle.Settings{
		VendorID:       "123",
		VendorAuthCode: "123abc",
	})
	if err != nil {
		panic(err)
	}
	urlStr, err := client.GeneratePayLink(context.Background(), paddle.GeneratePayLinkRequest{})
	if err != nil {
		panic(err)
	}
	fmt.Println(urlStr)
	// use sandbox
	client, err = paddle.NewClient(paddle.Settings{
		URL:            paddle.SandboxBaseURL,
		VendorID:       "12",
		VendorAuthCode: "12bc",
	})
	if err != nil {
		panic(err)
	}
}

Project versioning

paddle uses semantic versioning. API should not change between patch and minor releases. New minor versions may add additional features to the API.

Licensing

The code in this project is licensed under MIT license.

Documentation

Index

Examples

Constants

View Source
const (
	DefaultBaseURL         = "https://vendors.paddle.com/api/"
	DefaultCheckoutBaseURL = "https://checkout.paddle.com/api/"

	SandboxBaseURL         = "https://sandbox-vendors.paddle.com/api/"
	SandboxCheckoutBaseURL = "https://sandbox-checkout.paddle.com/api/"
)

Variables

View Source
var (
	ErrInvalidSignature = errors.New("paddle: invalid signature")
)

Functions

This section is empty.

Types

type Alert

type Alert string
const (
	AlertSubscriptionCreated          Alert = "subscription_created"
	AlertSubscriptionUpdated          Alert = "subscription_updated"
	AlertSubscriptionCancelled        Alert = "subscription_cancelled"
	AlertSubscriptionPaymentSucceeded Alert = "subscription_payment_succeeded"
	AlertSubscriptionPaymentFailed    Alert = "subscription_payment_failed"
	AlertSubscriptionPaymentRefunded  Alert = "subscription_payment_refunded"

	AlertPaymentSucceeded Alert = "payment_succeeded"
	AlertPaymentRefunded  Alert = "payment_refunded"
	AlertLockerProcessed  Alert = "locker_processed"

	AlertPaymentDisputeCreated      Alert = "payment_dispute_created"
	AlertPaymentDisputeClosed       Alert = "payment_dispute_closed"
	AlertHighRiskTransactionCreated Alert = "high_risk_transaction_created"
	AlertHighRiskTransactionUpdated Alert = "high_risk_transaction_updated"

	AlertTransferCreated Alert = "transfer_created"
	AlertTransferPaid    Alert = "transfer_paid"

	AlertNewAudienceMember    Alert = "new_audience_member"
	AlertUpdateAudienceMember Alert = "update_audience_member"

	AlertInvoicePaid    Alert = "invoice_paid"
	AlertInvoiceSent    Alert = "invoice_sent"
	AlertInvoiceOverdue Alert = "invoice_overdue"
)

func GetAlertName

func GetAlertName(form url.Values) (Alert, error)

type Client

type Client struct {
	BaseURL         *url.URL
	CheckoutBaseURL *url.URL
	UserAgent       string
	// contains filtered or unexported fields
}

func NewClient

func NewClient(settings Settings) (*Client, error)
Example
client, err := NewClient(Settings{
	VendorID:       "123",
	VendorAuthCode: "123ab",
})
if err != nil {
	panic(err)
}
url, err := client.GeneratePayLink(context.Background(), GeneratePayLinkRequest{
	ProductID: 25,
	Prices: map[string]string{
		"USD": "25.45",
		"EUR": "21.39",
		"RUB": "999",
	},
	Affiliates: map[string]string{
		"1234": "0.50",
		"1235": "0.25",
	},
	CustomerEmail:    "user@example.com",
	MarketingConsent: true,
})
if err != nil {
	panic(err)
}
fmt.Println(url)
Output:

func (*Client) Audience

func (c *Client) Audience(ctx context.Context, email string, marketingConsent bool) (userID int, err error)
func (c *Client) GeneratePayLink(ctx context.Context, request GeneratePayLinkRequest) (url string, err error)

func (*Client) NewRequest

func (c *Client) NewRequest(ctx context.Context, method, urlStr string, body interface{}, checkoutURL, authenticate bool) (*http.Request, error)

NewRequest creates an API request. A relative URL can be provided in urlStr, in which case it is resolved relative to the BaseURL of the Client. Relative URLs should always be specified without a preceding slash. If specified, the value pointed to by body is JSON encoded and included as the request body.

type ErrorCode

type ErrorCode int
const (
	ErrorCodeLicenseNotFound            ErrorCode = 100
	ErrorCodeBadMethodCall              ErrorCode = 101
	ErrorCodeBadAPIKey                  ErrorCode = 102
	ErrorCodeTimestampInvalid           ErrorCode = 103
	ErrorCodeLicenseAlreadyUtilized     ErrorCode = 104
	ErrorCodeLicenseIsNotActive         ErrorCode = 105
	ErrorCodeActivationNotFound         ErrorCode = 106
	ErrorCodePermissionError            ErrorCode = 107
	ErrorCodeProductNotFound            ErrorCode = 108
	ErrorCodeCurrencyInvalid            ErrorCode = 109
	ErrorCodePurchaseNotFound           ErrorCode = 110
	ErrorCodeAuthenticationTokenInvalid ErrorCode = 111
	ErrorCodeVerificationTokenInvalid   ErrorCode = 112
	ErrorCodePaddingInvalid             ErrorCode = 113
	ErrorCodeAffiliateInvalid           ErrorCode = 114
	ErrorCodeAffiliateCommissionInvalid ErrorCode = 115
	ErrorCodeArgumentsMissing           ErrorCode = 116
	ErrorCodeExpirationTimeInvalid      ErrorCode = 117
	ErrorCodePriceIsTooLow              ErrorCode = 118
	ErrorCodeSubscriptionNotFound       ErrorCode = 119
	ErrorCodeInternalError              ErrorCode = 120
	ErrorCodePaymentNotFound            ErrorCode = 121
	ErrorCodeDateInvalid                ErrorCode = 122
	ErrorCodeModifierNotFound           ErrorCode = 123
	ErrorCodeModifierAlreadyPaid        ErrorCode = 124
	ErrorCodeNoMainCurrencyPrice        ErrorCode = 125
	ErrorCodeEmailInvalid               ErrorCode = 126
	ErrorCodeCouponTypeInvalid          ErrorCode = 127
	ErrorCodePercentageInvalid          ErrorCode = 128
	ErrorCodeAmountInvalid              ErrorCode = 129
)

type GeneratePayLinkRequest

type GeneratePayLinkRequest struct {
	// ProductID is The Paddle Product ID/Plan ID that you want to base this custom checkout on.
	// Required if not using custom products.
	// If no ProductID is set, custom non-subscription product checkouts can be generated instead by specifying the required fields: Title, WebhookURL and prices.
	// Note that CouponCode cannot be used with custom products.
	ProductID int
	// Title is the name of the product/title of the checkout. Required if ProductID is not set.
	Title string
	// WebhookURL is an endpoint that we will call with transaction information upon successful checkout, to allow you to fulfill the purchase.
	// Only valid (and required) if ProductID is not set. Not valid for subscription plans.
	// Note: testing on localhost is not supported. Please use an internet-accessible URL.
	WebhookURL string
	// Prices is price (s) of the checkout for a one-time purchase or the initial payment of a subscription.
	// If ProductID is set, you must also provide the price for the product’s default currency.If a given currency is enabled in the dashboard, it will default to a conversion of the product’s default currency price set in this field unless specified here as well.
	// If the currency specified is not enabled in the dashboard and the ProductID is a subscription, the currency’s RecurringPrices must be set as well.
	Prices map[string]string
	// RecurringPrices is recurring price(s) of the checkout (excluding the initial payment) only if the ProductID specified is a subscription.
	// To override the initial payment and all recurring payment amounts, both Prices and RecurringPrices must be set.
	// You must also provide the price for the subscription’s default currency.
	// If a given currency is enabled in the dashboard, it will default to a conversion of the subscription’s default currency price set in this field unless specified here as well.
	// If the currency specified is not enabled in the dashboard, the currency’s prices must be set as well.
	RecurringPrices map[string]string
	// TrialDays is for subscription plans only.
	// The number of days for the initial billing cycle.
	// If you leave this field empty, the default trial days of the plan will be used.
	// Note: The prices might additionally need to be set in order to achieve the desired behaviour (free trial/paid trial),
	// depending on whether the plan had a trial period set originally.
	TrialDays int
	// CustomMessage is a short message displayed below the product name on the checkout.
	CustomMessage string
	// CouponCode is a coupon to be applied to the checkout.
	// Note that this cannot be used with custom products, and is only valid if a ProductID is set.
	CouponCode string
	// Discountable specifies if a coupon can be applied to the checkout.
	// “Add Coupon” button on the checkout will be hidden as well if set to false.
	Discountable *bool
	// ImageURL is a URL for the product image/icon displayed on the checkout.
	ImageURL string
	// ReturnURL is a URL to redirect to once the checkout is completed.
	// If the variable {checkout_hash} is included within the URL
	// (e.g.https://example.com/thanks?checkout={checkout_hash}), the API will automatically populate the Paddle checkout ID in the redirected URL.
	ReturnURL string
	// QuantityVariable specifies if the user is allowed to alter the quantity of the checkout.
	QuantityVariable *bool
	// Quantity pre-fills the quantity selector on the checkout.Please note that free products/subscription plans are fixed to a quantity of 1.
	// Any quantity over the maximum value will default to a quantity of 1.
	Quantity int
	// Expires specifies if the checkout link should expire.
	// The generated checkout URL will be accessible until 23:59:59 (UTC) on the date specified.
	// If this is not specified, the checkout link will automatically expire 60 days after it has been first opened.
	Expires time.Time
	// Affiliates contains other Paddle vendor IDs whom you would like to split the funds from this checkout with.
	Affiliates map[string]string
	// RecurringAffiliateLimit limits the number of times other Paddle vendors will receive funds from the recurring payments (for subscription products).
	// The initial checkout payment is included in the limit.
	// If you leave this field empty, the limit will not be applied.
	// Note: if your plan has a trial period, set this to 2 or greater in order for your affiliates to correctly receive their commission on paid payments after the trial.
	RecurringAffiliateLimit int
	// MarketingConsent specifies whether you have gathered consent to market to the customer.
	// CustomerEmail is required if this property is set, and you want to opt the customer into marketing.
	MarketingConsent bool
	// CustomerEmail pre-fills the customer email field on the checkout.
	CustomerEmail string
	// CustomerCountry pre-fills the customer country field on the checkout.
	// List of supported ISO country codes - https://developer.paddle.com/reference/platform-parameters/supported-countries
	// Only pre-filled if CustomerEmail is set.
	CustomerCountry string
	// CustomerPostcode pre-fills the customer postcode field on the checkout.
	// This field is required if the CustomerCountry requires postcode.
	// List of the countries requiring this field - https://developer.paddle.com/reference/platform-parameters/supported-countries#countries-requiring-postcode
	CustomerPostcode string
	// IsRecoverable Specifies if checkout recovery emails can be sent to users who abandon the checkout process after entering their email address.
	// An additional 10% transaction fee applies to checkouts we recover.
	// This will override the checkout recovery setting specified in your page.
	IsRecoverable *bool
	// Passthrough is a string of metadata you wish to store with the checkout.
	// Will be sent alongside all webhooks associated with the order.
	// See the documentation for more information.
	Passthrough string
	// VatNumber pre-fills the sales tax identifier (VAT number) field on the checkout.
	VatNumber string
	// VatCompanyName pre-fills the Company Name field on the checkout.
	// Required if VatNumber is set.
	VatCompanyName string
	// VatStreet pre-fills the Street field on the checkout.
	// Required if VatNumber is set.
	VatStreet string
	// VatCity pre-fills the Town/City field on the checkout.
	// Required if VatNumber is set.
	VatCity string
	// VatState pre-fills the State field on the checkout.
	VatState string
	// VatCountry pre-fills the Country field on the checkout.
	// Required if VatNumber is set.
	// List of the list of supported ISO country codes - https://developer.paddle.com/reference/platform-parameters/supported-countries
	VatCountry string
	// VatPostcode pre-fills the Postcode field on the checkout.
	VatPostcode string
}

type InvoiceOverdue

type InvoiceOverdue struct {
	AlertName                    Alert
	AlertID                      string
	PaymentID                    string
	Amount                       string
	SaleGross                    string
	TermDays                     string
	Status                       Status
	PurchaseOrderNumber          string
	InvoicedAt                   time.Time
	Currency                     string
	ProductID                    string
	ProductName                  string
	ProductAdditionalInformation string
	CustomerID                   string
	CustomerName                 string
	Email                        string
	CustomerVatNumber            string
	CustomerCompanyNumber        string
	CustomerAddress              string
	CustomerCity                 string
	CustomerState                string
	CustomerZipcode              string
	Country                      string
	ContractID                   string
	ContractStartDate            time.Time
	ContractEndDate              time.Time
	Passthrough                  string
	DateCreated                  time.Time
	BalanceCurrency              string
	PaymentTax                   string
	PaymentMethod                PaymentMethod
	Fee                          string
	Earnings                     string
	EventTime                    time.Time
}

type InvoicePaid

type InvoicePaid struct {
	AlertName                    Alert
	AlertID                      string
	PaymentID                    string
	Amount                       string
	SaleGross                    string
	TermDays                     string
	Status                       Status
	PurchaseOrderNumber          string
	InvoicedAt                   time.Time
	Currency                     string
	ProductID                    string
	ProductName                  string
	ProductAdditionalInformation string
	CustomerID                   string
	CustomerName                 string
	Email                        string
	CustomerVatNumber            string
	CustomerCompanyNumber        string
	CustomerAddress              string
	CustomerCity                 string
	CustomerState                string
	CustomerZipcode              string
	Country                      string
	ContractID                   string
	ContractStartDate            time.Time
	ContractEndDate              time.Time
	Passthrough                  string
	DateCreated                  time.Time
	BalanceCurrency              string
	PaymentTax                   string
	PaymentMethod                PaymentMethod
	Fee                          string
	Earnings                     string
	BalanceEarnings              string
	BalanceFee                   string
	BalanceTax                   string
	BalanceGross                 string
	DateReconciled               time.Time
	EventTime                    time.Time
}

type InvoiceSent

type InvoiceSent struct {
	AlertName                    Alert
	AlertID                      string
	PaymentID                    string
	Amount                       string
	SaleGross                    string
	TermDays                     string
	Status                       Status
	PurchaseOrderNumber          string
	InvoicedAt                   time.Time
	Currency                     string
	ProductID                    string
	ProductName                  string
	ProductAdditionalInformation string
	CustomerID                   string
	CustomerName                 string
	Email                        string
	CustomerVatNumber            string
	CustomerCompanyNumber        string
	CustomerAddress              string
	CustomerCity                 string
	CustomerState                string
	CustomerZipcode              string
	Country                      string
	ContractID                   string
	ContractStartDate            time.Time
	ContractEndDate              time.Time
	Passthrough                  string
	DateCreated                  time.Time
	BalanceCurrency              string
	PaymentTax                   string
	PaymentMethod                PaymentMethod
	Fee                          string
	Earnings                     string
	EventTime                    time.Time
}

type PausedReason

type PausedReason string
const (
	PausedReasonDelinquent PausedReason = "delinquent"
	PausedReasonVoluntary  PausedReason = "voluntary"
)

type PaymentMethod

type PaymentMethod string

PaymentMethod defines possible payment method type.

const (
	PaymentMethodCard         PaymentMethod = "card"
	PaymentMethodPayPal       PaymentMethod = "paypal"
	PaymentMethodFree         PaymentMethod = "free"
	PaymentMethodApplePay     PaymentMethod = "apple-pay"
	PaymentMethodWireTransfer PaymentMethod = "wire-transfer"
)

type PaymentSucceeded

type PaymentSucceeded struct {
	AlertName        Alert
	AlertID          string
	BalanceCurrency  string
	BalanceEarnings  string
	BalanceFee       string
	BalanceGross     string
	BalanceTax       string
	CheckoutID       string
	Country          string
	Coupon           string
	Currency         string
	CustomerName     string
	Earnings         string
	Email            string
	EventTime        time.Time
	Fee              string
	MarketingConsent bool
	OrderID          string
	// IP defines user IP.
	// Deprecated, see https://developer.paddle.com/webhook-reference/one-off-purchase-alerts/payment-succeeded
	IP                string
	Passthrough       string
	PaymentMethod     PaymentMethod
	PaymentTax        string
	ProductID         string
	ProductName       string
	Quantity          int
	ReceiptURL        string
	SaleGross         string
	UsedPriceOverride bool
}

type RefundType

type RefundType string

RefundType defines possible reason for refund.

const (
	RefundTypeFull    RefundType = "full"
	RefundTypeVat     RefundType = "vat"
	RefundTypePartial RefundType = "partial"
)

type Settings

type Settings struct {
	URL            string
	CheckoutURL    string
	Client         *http.Client
	VendorID       string
	VendorAuthCode string
}

type Status

type Status string
const (
	StatusActive   Status = "active"
	StatusTrialing Status = "trialing"
	StatusPastDue  Status = "past_due"
	StatusPaused   Status = "paused"
	StatusDeleted  Status = "deleted"
	StatusPaid     Status = "paid"
	StatusUnpaid   Status = "unpaid"
	StatusOverdue  Status = "overdue"
)

type SubscriptionCancelled

type SubscriptionCancelled struct {
	AlertName                 Alert
	AlertID                   string
	CancellationEffectiveDate time.Time
	CheckoutID                string
	Currency                  string
	Email                     string
	EventTime                 time.Time
	MarketingConsent          bool
	Passthrough               string
	Quantity                  int
	Status                    Status
	SubscriptionID            string
	SubscriptionPlanID        string
	UnitPrice                 string
	UserID                    string
}

type SubscriptionCreated

type SubscriptionCreated struct {
	AlertName          Alert
	AlertID            string
	CancelURL          string
	CheckoutID         string
	Currency           string
	Email              string
	EventTime          time.Time
	MarketingConsent   bool
	NextBillDate       time.Time
	Passthrough        string
	Quantity           int
	Source             string
	Status             Status
	SubscriptionID     string
	SubscriptionPlanID string
	UnitPrice          string
	UserID             string
	UpdateURL          string
}

type SubscriptionPaymentFailed

type SubscriptionPaymentFailed struct {
	AlertName             Alert
	AlertID               string
	Amount                string
	CancelURL             string
	CheckoutID            string
	Currency              string
	Email                 string
	EventTime             time.Time
	MarketingConsent      bool
	NextRetryDate         time.Time
	Passthrough           string
	Quantity              int
	Status                Status
	SubscriptionID        string
	SubscriptionPlanID    string
	UnitPrice             string
	UpdateURL             string
	SubscriptionPaymentID string
	Installments          int
	OrderID               string
	UserID                string
	AttemptNumber         int
}

type SubscriptionPaymentRefunded

type SubscriptionPaymentRefunded struct {
	AlertName               Alert
	AlertID                 string
	Amount                  string
	BalanceCurrency         string
	BalanceEarningsDecrease string
	BalanceFeeRefund        string
	BalanceGrossRefund      string
	BalanceTaxRefund        string
	CheckoutID              string
	Currency                string
	EarningsDecrease        string
	Email                   string
	EventTime               time.Time
	FeeRefund               string
	GrossRefund             string
	InitialPayment          bool
	Instalments             string
	MarketingConsent        bool
	OrderID                 string
	Passthrough             string
	Quantity                int
	RefundReason            string
	RefundType              RefundType
	Status                  Status
	SubscriptionID          string
	SubscriptionPaymentID   string
	SubscriptionPlanID      string
	TaxRefund               string
	UnitPrice               string
	UserID                  string
}

type SubscriptionPaymentSucceeded

type SubscriptionPaymentSucceeded struct {
	AlertName             Alert
	AlertID               string
	BalanceCurrency       string
	BalanceEarnings       string
	BalanceFee            string
	BalanceGross          string
	BalanceTax            string
	CheckoutID            string
	Country               string
	Coupon                string
	Currency              string
	CustomerName          string
	Earnings              string
	Email                 string
	EventTime             time.Time
	Fee                   string
	InitialPayment        bool
	Instalments           string
	MarketingConsent      bool
	NextBillDate          time.Time
	NextPaymentAmount     string
	OrderID               string
	Passthrough           string
	PaymentMethod         PaymentMethod
	PaymentTax            string
	PlanName              string
	Quantity              int
	ReceiptURL            string
	SaleGross             string
	Status                Status
	SubscriptionID        string
	SubscriptionPaymentID string
	SubscriptionPlanID    string
	UnitPrice             string
	UserID                string
}

type SubscriptionUpdated

type SubscriptionUpdated struct {
	AlertName Alert
	AlertID   string

	UpdateURL string
	CancelURL string

	CheckoutID       string
	Currency         string
	Email            string
	EventTime        time.Time
	MarketingConsent bool

	NewPrice     string
	NewQuantity  int
	NewUnitPrice string
	NextBillDate time.Time

	Passthrough        string
	Status             Status
	SubscriptionID     string
	SubscriptionPlanID string
	UserID             string

	OldNextBillDate       time.Time
	OldPrice              string
	OldQuantity           int
	OldStatus             Status
	OldSubscriptionPlanID string
	OldUnitPrice          string

	PausedAt     time.Time
	PausedFrom   time.Time
	PausedReason PausedReason
}

type TransferCreated

type TransferCreated struct {
	AlertName Alert
	AlertID   string
	Amount    string
	Currency  string
	EventTime time.Time
	PayoutID  string
	Status    Status
}

type TransferPaid

type TransferPaid struct {
	AlertName Alert
	AlertID   string
	Amount    string
	Currency  string
	EventTime time.Time
	PayoutID  string
	Status    Status
}

type WebhookClient

type WebhookClient struct {
	// contains filtered or unexported fields
}

func NewWebhookClient

func NewWebhookClient(publicKey string) (*WebhookClient, error)

func (*WebhookClient) ParseInvoiceOverdueWebhook

func (c *WebhookClient) ParseInvoiceOverdueWebhook(form url.Values) (InvoiceOverdue, error)

func (*WebhookClient) ParseInvoicePaidWebhook

func (c *WebhookClient) ParseInvoicePaidWebhook(form url.Values) (InvoicePaid, error)

func (*WebhookClient) ParseInvoiceSentWebhook

func (c *WebhookClient) ParseInvoiceSentWebhook(form url.Values) (InvoiceSent, error)

func (*WebhookClient) ParsePaymentSucceededWebhook

func (c *WebhookClient) ParsePaymentSucceededWebhook(form url.Values) (PaymentSucceeded, error)

func (*WebhookClient) ParseSubscriptionCancelledWebhook

func (c *WebhookClient) ParseSubscriptionCancelledWebhook(form url.Values) (SubscriptionCancelled, error)

func (*WebhookClient) ParseSubscriptionCreatedWebhook

func (c *WebhookClient) ParseSubscriptionCreatedWebhook(form url.Values) (SubscriptionCreated, error)

func (*WebhookClient) ParseSubscriptionPaymentFailedWebhook

func (c *WebhookClient) ParseSubscriptionPaymentFailedWebhook(form url.Values) (SubscriptionPaymentFailed, error)

func (*WebhookClient) ParseSubscriptionPaymentRefundedWebhook

func (c *WebhookClient) ParseSubscriptionPaymentRefundedWebhook(form url.Values) (SubscriptionPaymentRefunded, error)

func (*WebhookClient) ParseSubscriptionPaymentSucceededWebhook

func (c *WebhookClient) ParseSubscriptionPaymentSucceededWebhook(form url.Values) (SubscriptionPaymentSucceeded, error)

func (*WebhookClient) ParseSubscriptionUpdatedWebhook

func (c *WebhookClient) ParseSubscriptionUpdatedWebhook(form url.Values) (SubscriptionUpdated, error)

func (*WebhookClient) ParseTransferCreatedWebhook

func (c *WebhookClient) ParseTransferCreatedWebhook(form url.Values) (TransferCreated, error)

func (*WebhookClient) ParseTransferPaidWebhook

func (c *WebhookClient) ParseTransferPaidWebhook(form url.Values) (TransferPaid, error)

func (*WebhookClient) SetVerification

func (c *WebhookClient) SetVerification(b bool)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL