-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsubscription_example.go
More file actions
86 lines (77 loc) · 2.2 KB
/
subscription_example.go
File metadata and controls
86 lines (77 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package main
import (
"context"
"log"
"github.com/rammyblog/go-paystack"
"github.com/rammyblog/go-paystack/subscription"
)
func CreateSubscription(ctx context.Context, c *paystack.Client) {
// Create a subscription
resp, err := c.Subscription.CreateSubscription(ctx, &subscription.CreateSubscriptionRequest{
Customer: "CUS_potop1jwzmml5ng ",
Plan: "PLN_48mmlpyngprj1fk",
})
if err != nil {
log.Fatal(err)
return
}
log.Printf("\n Create Subscription \n-%+v\n", resp)
}
func ListSubscription(ctx context.Context, c *paystack.Client) {
// List subscriptions
resp, err := c.Subscription.List(ctx)
if err != nil {
log.Fatal(err)
return
}
log.Printf("\n List Subscriptions \n-%+v\n", resp)
}
func FetchSubscription(ctx context.Context, c *paystack.Client) {
// Fetch a subscription
resp, err := c.Subscription.Fetch(ctx, "SUB_369x89yaz8ifiym")
if err != nil {
log.Fatal(err)
return
}
log.Printf("\n Fetch Subscription \n-%+v\n", resp)
}
func EnableSubscription(ctx context.Context, c *paystack.Client) {
// Enable a subscription
resp, err := c.Subscription.Enable(ctx, &subscription.EnableDisableSubscriptionRequest{
Code: "SUB_369x89yaz8ifiym",
})
if err != nil {
log.Fatal(err)
return
}
log.Printf("\n Enable Subscription \n-%+v\n", resp)
}
func DisableSubscription(ctx context.Context, c *paystack.Client) {
// Disable a subscription
resp, err := c.Subscription.Disable(ctx, &subscription.EnableDisableSubscriptionRequest{
Code: "SUB_369x89yaz8ifiym",
})
if err != nil {
log.Fatal(err)
return
}
log.Printf("\n Disable Subscription \n-%+v\n", resp)
}
func GenerateUpdateSubscriptionLink(ctx context.Context, c *paystack.Client) {
// Generate update subscription link
resp, err := c.Subscription.GenerateUpdateSubscriptionLink(ctx, "SUB_369x89yaz8ifiym")
if err != nil {
log.Fatal(err)
return
}
log.Printf("\n Generate Update Subscription Link \n-%+v\n", resp)
}
func SendUpdateSubscriptionLink(ctx context.Context, c *paystack.Client) {
// Send update subscription link
resp, err := c.Subscription.SendUpdateSubscriptionLink(ctx, "SUB_369x89yaz8ifiym", nil)
if err != nil {
log.Fatal(err)
return
}
log.Printf("\n Send Update Subscription Link \n-%+v\n", resp)
}