Documentation
¶
Index ¶
- type APIError
- type Authentication
- type CancelUserOptions
- type ChargeOptions
- type ChargeResponse
- type Charges
- type Client
- type CreateModifierOptions
- type CreateModifierResponse
- type ListUsersOptions
- type Modifiers
- type OptionalTime
- type PaymentInformation
- type RefundType
- type SubscriptionCancelledAlert
- type SubscriptionCreatedAlert
- type SubscriptionPaymentFailedAlert
- type SubscriptionPaymentRefundedAlert
- type SubscriptionPaymentSucceededAlert
- type SubscriptionStatus
- type SubscriptionUpdatedAlert
- type UpdateUserOptions
- type UpdateUserResponse
- type User
- type UserPayment
- type Users
- func (users *Users) Cancel(ctx context.Context, options *CancelUserOptions) (*http.Response, error)
- func (users *Users) List(ctx context.Context, options *ListUsersOptions) ([]*User, *http.Response, error)
- func (users *Users) Update(ctx context.Context, options *UpdateUserOptions) (*UpdateUserResponse, *http.Response, error)
- type Webhooks
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Authentication ¶
type Authentication struct {
// VendorID identifies the seller account, can be found in Developer Tools > Authentication.
VendorID int
// VendorAuthCode is a private API key for authenticating API requests, should never be used in client side code or shared publicly.
// And can be found in Developer Tools > Authentication.
VendorAuthCode string
}
Authentication represents credentials for working with the Paddle API.
type CancelUserOptions ¶
type CancelUserOptions struct {
SubscriptionID uint64
}
CancelUserOptions represents options for cancel user subscription.
type ChargeOptions ¶ added in v0.0.9
ChargeOptions represents options for charing.
type ChargeResponse ¶ added in v0.0.9
type ChargeResponse struct {
InvoiceID uint64 `json:"invoice_id,omitempty"`
SubscriptionID uint64 `json:"subscription_id,omitempty"`
Amount string `json:"amount,omitempty"`
Currency string `json:"currency,omitempty"`
PaymentDate string `json:"payment_date,omitempty"`
ReceiptURL string `json:"receipt_url,omitempty"`
Status string `json:"status,omitempty"`
}
ChargeResponse represents a response for the subscription charge.
type Charges ¶ added in v0.0.9
type Charges api
Charges is an API to work with the Paddle subscription one-off charges.
func (*Charges) Charge ¶ added in v0.0.9
func (modifiers *Charges) Charge(ctx context.Context, subscriptionID uint64, options *ChargeOptions) (*ChargeResponse, *http.Response, error)
Charge charges.
Paddle docs: https://developer.paddle.com/api-reference/23cf86225523f-create-one-off-charge
type Client ¶
type Client struct {
// Users represents an API for working with subscription users.
Users *Users
// Modifiers represents an API for working with subscription modifiers.
Modifiers *Modifiers
// Charges represents an API for working with subscription charges.
Charges *Charges
}
Client is a Paddle client.
func NewProductionClient ¶
func NewProductionClient(authentication Authentication) (*Client, error)
NewProductionClient creates a new Paddle production client.
func NewSandboxClient ¶
func NewSandboxClient(authentication Authentication) (*Client, error)
NewSandboxClient creates a new Paddle sandbox client.
type CreateModifierOptions ¶ added in v0.0.9
type CreateModifierOptions struct {
SubscriptionID uint64
ModifierRecurring bool
ModifierAmount string
ModifierDescription string
}
CreateModifierOptions represents options for creating a modifier.
type CreateModifierResponse ¶ added in v0.0.9
type CreateModifierResponse struct {
SubscriptionID uint64 `json:"subscription_id,omitempty"`
ModifierID uint64 `json:"modifier_id,omitempty"`
}
CreateModifierResponse represents a response for the create subscription modifier.
type ListUsersOptions ¶
type ListUsersOptions struct {
SubscriptionID uint64
PlanID uint64
State string
Page int
ResultsPerPage int
}
ListUsersOptions represents options for getting subscription users.
type Modifiers ¶ added in v0.0.9
type Modifiers api
Modifiers is an API to work with the Paddle subscription modifiers.
func (*Modifiers) Create ¶ added in v0.0.9
func (modifiers *Modifiers) Create(ctx context.Context, options *CreateModifierOptions) (*CreateModifierResponse, *http.Response, error)
Create creates new modifier.
Paddle docs: https://developer.paddle.com/api-reference/dc2b0c06f0481-create-modifier
type OptionalTime ¶ added in v0.0.6
OptionalTime represents the Time value that can be zero and forces you to process it differently.
type PaymentInformation ¶
type PaymentInformation struct {
PaymentMethod string `json:"payment_method,omitempty"`
CardType string `json:"card_type,omitempty"`
LastFourDigits string `json:"last_four_digits,omitempty"`
ExpiryDate string `json:"expiry_date,omitempty"`
}
PaymentInformation represents a user payment information.
type RefundType ¶ added in v0.0.2
type RefundType string
RefundType represents refund type: full, vat or partial.
const ( // RefundFull represents full refund. RefundFull RefundType = "full" // RefundVAT represents VAT refund. RefundVAT RefundType = "vat" // RefundPartial represents partial refund. RefundPartial RefundType = "partial" )
type SubscriptionCancelledAlert ¶
type SubscriptionCancelledAlert struct {
AlertName string `schema:"alert_name"`
AlertID uint64 `schema:"alert_id"`
CancellationEffectiveDate time.Time `schema:"cancellation_effective_date"`
CheckoutID *string `schema:"checkout_id"`
Currency *string `schema:"currency"`
Email *string `schema:"email"`
EventTime time.Time `schema:"event_time"`
MarketingConsent bool `schema:"marketing_consent"`
Passthrough *string `schema:"passthrough"`
Quantity *string `schema:"quantity"`
Status *string `schema:"status"`
SubscriptionID *string `schema:"subscription_id"`
SubscriptionPlanID *string `schema:"subscription_plan_id"`
UnitPrice *string `schema:"unit_price"`
UserID uint64 `schema:"user_id"`
}
SubscriptionCancelledAlert is triggered whenever a user cancel a subscription. Docs: https://developer.paddle.com/webhook-reference/subscription-alerts/subscription-cancelled
type SubscriptionCreatedAlert ¶
type SubscriptionCreatedAlert struct {
AlertName string `schema:"alert_name"`
AlertID uint64 `schema:"alert_id"`
CancelURL string `schema:"cancel_url"`
CheckoutID *string `schema:"checkout_id"`
Currency *string `schema:"currency"`
Email *string `schema:"email"`
EventTime time.Time `schema:"event_time"`
MarketingConsent bool `schema:"marketing_consent"`
NextBillDate time.Time `schema:"next_bill_date"`
Passthrough *string `schema:"passthrough"`
Quantity *string `schema:"quantity"`
Source *string `schema:"source"`
Status *string `schema:"status"`
SubscriptionID uint64 `schema:"subscription_id"`
SubscriptionPlanID uint64 `schema:"subscription_plan_id"`
UnitPrice *string `schema:"unit_price"`
UserID uint64 `schema:"user_id"`
UpdateURL *string `schema:"update_url"`
}
SubscriptionCreatedAlert is fired a new subscription is created, and a customer has successfully subscribed. Docs: https://developer.paddle.com/webhook-reference/subscription-alerts/subscription-created
type SubscriptionPaymentFailedAlert ¶
type SubscriptionPaymentFailedAlert struct {
AlertName string `schema:"alert_name"`
AlertID uint64 `schema:"alert_id"`
Amount *string `schema:"amount"`
CancelURL string `schema:"cancel_url"`
CheckoutID *string `schema:"checkout_id"`
Currency *string `schema:"currency"`
Email *string `schema:"email"`
EventTime time.Time `schema:"event_time"`
MarketingConsent bool `schema:"marketing_consent"`
NextRetryDate OptionalTime `schema:"next_retry_date"`
Passthrough *string `schema:"passthrough"`
Quantity *string `schema:"quantity"`
Status *string `schema:"status"`
SubscriptionID uint64 `schema:"subscription_id"`
SubscriptionPlanID uint64 `schema:"subscription_plan_id"`
UnitPrice *string `schema:"unit_price"`
UpdateURL string `schema:"update_url"`
SubscriptionPaymentID uint64 `schema:"subscription_payment_id"`
Instalments int `schema:"instalments"`
OrderID *string `schema:"order_id"`
UserID uint64 `schema:"user_id"`
AttemptNumber *string `schema:"attempt_number"`
}
SubscriptionPaymentFailedAlert is fired when a payment for an existing subscription fails. Docs: https://developer.paddle.com/webhook-reference/subscription-alerts/subscription-payment-failed
type SubscriptionPaymentRefundedAlert ¶ added in v0.0.2
type SubscriptionPaymentRefundedAlert struct {
AlertName string `schema:"alert_name"`
AlertID uint64 `schema:"alert_id"`
Amount *string `schema:"amount"`
BalanceCurrency *string `schema:"balance_currency"`
BalanceEarningsDecrease *string `schema:"balance_earnings_decrease"`
BalanceFeeRefund *string `schema:"balance_fee_refund"`
BalanceGrossRefund *string `schema:"balance_gross_refund"`
BalanceTaxRefund *string `schema:"balance_tax_refund"`
CheckoutID *string `schema:"checkout_id"`
Currency *string `schema:"currency"`
CustomData *string `schema:"custom_data"`
EarningsDecrease *string `schema:"earnings_decrease"`
Email *string `schema:"email"`
EventTime time.Time `schema:"event_time"`
FeeRefund *string `schema:"fee_refund"`
GrossRefund *string `schema:"gross_refund"`
InitialPayment bool `schema:"initial_payment"`
Instalments int `schema:"instalments"`
MarketingConsent bool `schema:"marketing_consent"`
OrderID *string `schema:"order_id"`
Passthrough *string `schema:"passthrough"`
Quantity *string `schema:"quantity"`
RefundReason *string `schema:"refund_reason"`
RefundType RefundType `schema:"refund_type"`
Status *string `schema:"status"`
SubscriptionID uint64 `schema:"subscription_id"`
SubscriptionPaymentID uint64 `schema:"subscription_payment_id"`
SubscriptionPlanID uint64 `schema:"subscription_plan_id"`
TaxRefund *string `schema:"tax_refund"`
UnitPrice *string `schema:"unit_price"`
UserID uint64 `schema:"user_id"`
}
SubscriptionPaymentRefundedAlert is fired when a refund for an existing subscription is issued. Docs: https://developer.paddle.com/webhook-reference/4974afe939abc-subscription-payment-refunded
type SubscriptionPaymentSucceededAlert ¶
type SubscriptionPaymentSucceededAlert struct {
AlertName string `schema:"alert_name"`
AlertID uint64 `schema:"alert_id"`
BalanceCurrency *string `schema:"balance_currency"`
BalanceEarnings *string `schema:"balance_earnings"`
BalanceFee *string `schema:"balance_fee"`
BalanceGross *string `schema:"balance_gross"`
BalanceTax *string `schema:"balance_tax"`
CheckoutID *string `schema:"checkout_id"`
Country *string `schema:"country"`
Coupon *string `schema:"coupon"`
Currency *string `schema:"currency"`
CustomerName *string `schema:"customer_name"`
Earnings *string `schema:"earnings"`
Email *string `schema:"email"`
EventTime time.Time `schema:"event_time"`
Fee *string `schema:"fee"`
InitialPayment bool `schema:"initial_payment"`
Instalments int `schema:"instalments"`
MarketingConsent bool `schema:"marketing_consent"`
NextBillDate *string `schema:"next_bill_date"`
NextPaymentAmount *string `schema:"next_payment_amount"`
OrderID *string `schema:"order_id"`
Passthrough *string `schema:"passthrough"`
PaymentMethod *string `schema:"payment_method"`
PaymentTax *string `schema:"payment_tax"`
PlanName *string `schema:"plan_name"`
Quantity *string `schema:"quantity"`
ReceiptURL *string `schema:"receipt_url"`
SaleGross *string `schema:"sale_gross"`
Status *string `schema:"status"`
SubscriptionID uint64 `schema:"subscription_id"`
SubscriptionPaymentID uint64 `schema:"subscription_payment_id"`
SubscriptionPlanID uint64 `schema:"subscription_plan_id"`
UnitPrice *string `schema:"unit_price"`
UserID uint64 `schema:"user_id"`
}
SubscriptionPaymentSucceededAlert is fired when a subscription payment is received successfully. Docs: https://developer.paddle.com/webhook-reference/subscription-alerts/subscription-payment-succeeded
type SubscriptionStatus ¶
type SubscriptionStatus string
SubscriptionStatus represents subscription status: active, trialing, past due, paused or deleted.
const ( // SubscriptionActive represents active subscription status. SubscriptionActive SubscriptionStatus = "active" // SubscriptionTrialing represents trialing subscription status. SubscriptionTrialing SubscriptionStatus = "trialing" // SubscriptionPastDue represents past due subscription status. SubscriptionPastDue SubscriptionStatus = "past_due" // SubscriptionPaused represents paused subscription status. SubscriptionPaused SubscriptionStatus = "paused" // SubscriptionDeleted represents deleted subscription status. SubscriptionDeleted SubscriptionStatus = "deleted" )
type SubscriptionUpdatedAlert ¶
type SubscriptionUpdatedAlert struct {
AlertName string `schema:"alert_name"`
AlertID uint64 `schema:"alert_id"`
CancelURL string `schema:"cancel_url"`
CheckoutID *string `schema:"checkout_id"`
Email *string `schema:"email"`
EventTime time.Time `schema:"event_time"`
MarketingConsent bool `schema:"marketing_consent"`
NewPrice *string `schema:"new_price"`
NewQuantity *string `schema:"new_quantity"`
NewUnitPrice *string `schema:"new_unit_price"`
NextBillDate time.Time `schema:"next_bill_date"`
OldPrice *string `schema:"old_price"`
OldQuantity *string `schema:"old_quantity"`
OldUnitPrice *string `schema:"old_unit_price"`
Currency *string `schema:"currency"`
Passthrough *string `schema:"passthrough"`
Status *string `schema:"status"`
SubscriptionID uint64 `schema:"subscription_id"`
SubscriptionPlanID uint64 `schema:"subscription_plan_id"`
UserID uint64 `schema:"user_id"`
UpdateURL string `schema:"update_url"`
OldNextBillDate time.Time `schema:"old_next_bill_date"`
OldStatus *string `schema:"old_status"`
OldSubscriptionPlanID *string `schema:"old_subscription_plan_id"`
PausedAt *string `schema:"paused_at"`
PausedFrom *string `schema:"paused_from"`
PausedReason *string `schema:"paused_reason"`
}
SubscriptionUpdatedAlert is fired when the plan, price, quantity, status of an existing subscription changes, or if the payment date is rescheduled manually. Docs: https://developer.paddle.com/webhook-reference/subscription-alerts/subscription-updated
type UpdateUserOptions ¶
type UpdateUserOptions struct {
SubscriptionID uint64
PlanID uint64
Prorate bool
BillImmediately bool
KeepModifiers bool
}
UpdateUsersOptions represents options for update user subscription.
type UpdateUserResponse ¶
type UpdateUserResponse struct {
SubscriptionID uint64 `json:"subscription_id,omitempty"`
PlanID uint64 `json:"plan_id,omitempty"`
UserID uint64 `json:"user_id,omitempty"`
NextPayment *UserPayment `json:"next_payment,omitempty"`
}
UpdateUserResponse represents a response for the update user subscription request.
type User ¶
type User struct {
SubscriptionID int `json:"subscription_id,omitempty"`
PlanID int `json:"plan_id,omitempty"`
UserID int `json:"user_id,omitempty"`
UserEmail string `json:"user_email,omitempty"`
MarketingConsent bool `json:"marketing_consent,omitempty"`
UpdateURL string `json:"update_url,omitempty"`
CancelURL string `json:"cancel_url,omitempty"`
State string `json:"state,omitempty"`
SignupDate string `json:"signup_date,omitempty"`
LastPayment *UserPayment `json:"last_payment,omitempty"`
NextPayment *UserPayment `json:"next_payment,omitempty"`
PaymentInformation *PaymentInformation `json:"payment_information,omitempty"`
PausedAt string `json:"paused_at,omitempty"`
PausedFrom string `json:"paused_from,omitempty"`
}
User represents a Paddle user.
type UserPayment ¶
type UserPayment struct {
Amount float64 `json:"amount,omitempty"`
Currency string `json:"currency,omitempty"`
Date string `json:"date,omitempty"`
}
UserPayment represents a user payment.
type Users ¶
type Users api
Users is an API to work with the Paddle subscription users.
func (*Users) Cancel ¶
Cancel cancel the user subscription.
Paddle docs: https://developer.paddle.com/api-reference/b3A6MzA3NDQ3MzU-cancel-user
func (*Users) List ¶
func (users *Users) List(ctx context.Context, options *ListUsersOptions) ([]*User, *http.Response, error)
List returns subscription users.
Paddle docs: https://developer.paddle.com/api-reference/b3A6MzA3NDQ3MzA-list-users
func (*Users) Update ¶
func (users *Users) Update(ctx context.Context, options *UpdateUserOptions) (*UpdateUserResponse, *http.Response, error)
Update updates user subscription.
Paddle docs: https://developer.paddle.com/api-reference/b3A6MzA3NDQ3MzQ-update-user
type Webhooks ¶
type Webhooks struct {
// contains filtered or unexported fields
}
Webhooks validates and parses webhook alerts.
func NewWebhooks ¶
NewWebhooks returns a new instance of the webhooks.