payments_service.go   A
last analyzed

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 17
dl 0
loc 31
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A flutterwave.*paymentsService.GetPaymentLink 0 17 4
1
package flutterwave
2
3
import (
4
	"context"
5
	"encoding/json"
6
	"net/http"
7
)
8
9
// paymentsService is the API client for the `/gateway` endpoint
10
type paymentsService service
11
12
// GetPaymentLink Call flutterwave to get a payment link, redirect your customer to the link, and flutterwave will redirect back when payment is done.
13
//
14
// API Docs: https://developer.flutterwave.com/docs/collecting-payments/standard
15
func (service *paymentsService) GetPaymentLink(ctx context.Context, payload *GetPaymentLinkRequest) (*GetPaymentLinkResponse, *Response, error) {
16
	request, err := service.client.newRequest(ctx, http.MethodPost, "/v3/payments", payload)
17
	if err != nil {
18
		return nil, nil, err
19
	}
20
21
	response, err := service.client.do(request)
22
	if err != nil {
23
		return nil, response, err
24
	}
25
26
	var data GetPaymentLinkResponse
27
	if err = json.Unmarshal(*response.Body, &data); err != nil {
28
		return nil, response, err
29
	}
30
31
	return &data, response, nil
32
}
33