aboutsummaryrefslogtreecommitdiff
path: root/inquiry_status.go
diff options
context:
space:
mode:
Diffstat (limited to 'inquiry_status.go')
-rw-r--r--inquiry_status.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/inquiry_status.go b/inquiry_status.go
new file mode 100644
index 0000000..66797bf
--- /dev/null
+++ b/inquiry_status.go
@@ -0,0 +1,31 @@
+// SPDX-FileCopyrightText: 2022 M. Shulhan <ms@kilabit.info>
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package duitku
+
+import (
+ "crypto/sha256"
+ "encoding/hex"
+ "fmt"
+ "time"
+)
+
+// InquiryStatus request for transfer status.
+type InquiryStatus struct {
+ Request
+
+ DisburseID int64 `json:"disburseId"`
+}
+
+// Sign the request, fill the UserID, Email, Timestamp, and generate the
+// Signature.
+func (inq *InquiryStatus) Sign(opts ClientOptions) {
+ inq.UserID = opts.UserID
+ inq.Email = opts.Email
+ inq.Timestamp = time.Now().UnixMilli()
+
+ var plain string = fmt.Sprintf(`%s%d%d%s`, inq.Email, inq.Timestamp, inq.DisburseID, opts.ApiKey)
+ var plainHash [sha256.Size]byte = sha256.Sum256([]byte(plain))
+
+ inq.Signature = hex.EncodeToString(plainHash[:])
+}