Test Setup Failed
Push — main ( 619eb5...304cab )
by Acho
02:39
created

mtnmomo.*CollectionTransactionStatus.IsSuccessful   A

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nop 0
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
package mtnmomo
2
3
// RequestToPayParams is the set of parameters used when creating a payment request
4
type RequestToPayParams struct {
5
	Amount       string         `json:"amount"`
6
	Currency     string         `json:"currency"`
7
	ExternalID   string         `json:"externalId"`
8
	Payer        *AccountHolder `json:"payer"`
9
	PayerMessage string         `json:"payerMessage"`
10
	PayeeNote    string         `json:"payeeNote"`
11
}
12
13
// CollectionTransactionStatus is the status of a request to pay request.
14
type CollectionTransactionStatus struct {
15
	Amount                 string         `json:"amount"`
16
	Currency               string         `json:"currency"`
17
	ExternalID             string         `json:"externalId"`
18
	ReferenceID            string         `json:"referenceId"`
19
	Payer                  *AccountHolder `json:"payer"`
20
	Status                 string         `json:"status"`
21
	FinancialTransactionID *string        `json:"financialTransactionId,omitempty"`
22
	Reason                 *string        `json:"reason,omitempty"`
23
}
24
25
// IsPending checks if a transaction is in pending status
26
func (status *CollectionTransactionStatus) IsPending() bool {
27
	return status.Status == "PENDING"
28
}
29
30
// IsFailed checks if a transaction is in failed status
31
func (status *CollectionTransactionStatus) IsFailed() bool {
32
	return status.Status == "FAILED"
33
}
34
35
// IsCancelled checks if a transaction is cancelled
36
func (status *CollectionTransactionStatus) IsCancelled() bool {
37
	return status.Status == "CANCELLED"
38
}
39
40
// IsSuccessful checks if a transaction is successful
41
func (status *CollectionTransactionStatus) IsSuccessful() bool {
42
	return status.Status == "SUCCESSFUL"
43
}
44
45
// AccountHolder identifies an account holder in the wallet platform.
46
type AccountHolder struct {
47
	PartyIDType string `json:"partyIdType"`
48
	PartyID     string `json:"partyId"`
49
}
50
51
// AccountBalance is available balance of the account
52
type AccountBalance struct {
53
	AvailableBalance string `json:"availableBalance"`
54
	Currency         string `json:"currency"`
55
}
56