summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2022-11-03 17:59:20 +0800
committerꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2022-11-03 17:59:20 +0800
commit1745915fc00f3b2bf0720087afbb97415ab2ad92 (patch)
treecaa75eac210fb989587f7ccc6b294b3dd7308e6f
parent3b958007419bf3f1164aa0ab6fd68d84b5830133 (diff)
Reorder status function/method
-rw-r--r--midtrans.c56
-rw-r--r--midtrans.dart18
-rw-r--r--midtrans.h2
3 files changed, 38 insertions, 38 deletions
diff --git a/midtrans.c b/midtrans.c
index a188bd7..bd05fc2 100644
--- a/midtrans.c
+++ b/midtrans.c
@@ -81,34 +81,6 @@ void midtrans_init(const char *api_key, char *pem)
}));
}
-char *midtrans_status(const char *order_id)
-{
- static const char *tmpl = "%s%s/status";
- char url[strlen(tmpl) - strlen("%s") * 2 + strlen(base_url)
- + strlen(order_id) + 1];
- sprintf(url, tmpl, base_url, order_id);
- curl_easy_setopt(curl, CURLOPT_URL, url);
-
- struct response res = { 0, NULL };
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, &res);
- curl_easy_perform(curl);
-
- json_tokener *tokener = json_tokener_new();
- json_object *object = json_tokener_parse_ex(tokener, res.data,
- res.size);
- free(res.data);
-
- json_object *transaction_status = NULL;
- json_object_object_get_ex(object, "transaction_status",
- &transaction_status);
- const char *string = json_object_get_string(transaction_status);
- char *status = malloc(strlen(string) + 1);
- strcpy(status, string);
- json_tokener_free(tokener);
-
- return status;
-}
-
struct midtrans_banktransfer midtrans_banktransfer_new(char *bank)
{
return (struct midtrans_banktransfer){ bank, NULL, NULL, NULL };
@@ -213,6 +185,34 @@ char *midtrans_charge_banktransfer(struct midtrans_banktransfer banktransfer,
return virtualaccount_number;
}
+char *midtrans_status(const char *order_id)
+{
+ static const char *tmpl = "%s%s/status";
+ char url[strlen(tmpl) - strlen("%s") * 2 + strlen(base_url)
+ + strlen(order_id) + 1];
+ sprintf(url, tmpl, base_url, order_id);
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+
+ struct response res = { 0, NULL };
+ curl_easy_setopt(curl, CURLOPT_WRITEDATA, &res);
+ curl_easy_perform(curl);
+
+ json_tokener *tokener = json_tokener_new();
+ json_object *object = json_tokener_parse_ex(tokener, res.data,
+ res.size);
+ free(res.data);
+
+ json_object *transaction_status = NULL;
+ json_object_object_get_ex(object, "transaction_status",
+ &transaction_status);
+ const char *string = json_object_get_string(transaction_status);
+ char *status = malloc(strlen(string) + 1);
+ strcpy(status, string);
+ json_tokener_free(tokener);
+
+ return status;
+}
+
void midtrans_cleanup()
{
free(base_url);
diff --git a/midtrans.dart b/midtrans.dart
index 8779153..b61b591 100644
--- a/midtrans.dart
+++ b/midtrans.dart
@@ -36,15 +36,6 @@ class Midtrans {
calloc.free(pemUtf8);
}
- String status(String orderID) {
- final order_id = orderID.toNativeUtf8();
- final status = dylib.lookupFunction
- <MidtransStatus, MidtransStatus>
- ('midtrans_status')(order_id).toDartString();
- calloc.free(order_id);
- return status;
- }
-
String chargeBanktransfer(String bank, String orderID,
int grossAmount) {
final bankUtf8 = bank.toNativeUtf8();
@@ -65,6 +56,15 @@ class Midtrans {
return vaNumber;
}
+ String status(String orderID) {
+ final order_id = orderID.toNativeUtf8();
+ final status = dylib.lookupFunction
+ <MidtransStatus, MidtransStatus>
+ ('midtrans_status')(order_id).toDartString();
+ calloc.free(order_id);
+ return status;
+ }
+
void cleanup() {
dylib.lookupFunction<Void Function(), void Function()>
('midtrans_cleanup')();
diff --git a/midtrans.h b/midtrans.h
index f62b520..2d28e36 100644
--- a/midtrans.h
+++ b/midtrans.h
@@ -23,13 +23,13 @@ extern "C" {
#endif
void midtrans_init(const char *api_key, char *pem);
-char *midtrans_status(const char *order_id);
struct midtrans_banktransfer midtrans_banktransfer_new(char *bank);
struct midtrans_transaction midtrans_transaction_new(char *order_id,
long gross_amount);
char *midtrans_charge_banktransfer(struct midtrans_banktransfer banktransfer,
struct midtrans_transaction transaction
/*, char *custom_fields[]*/);
+char *midtrans_status(const char *order_id);
void midtrans_cleanup();
#ifdef __cplusplus