summaryrefslogtreecommitdiff
path: root/midtrans.h
diff options
context:
space:
mode:
Diffstat (limited to 'midtrans.h')
-rw-r--r--midtrans.h24
1 files changed, 6 insertions, 18 deletions
diff --git a/midtrans.h b/midtrans.h
index 181e73c..bd03076 100644
--- a/midtrans.h
+++ b/midtrans.h
@@ -6,23 +6,6 @@ struct midtrans_transaction {
long gross_amount;
};
-enum midtrans_payment {
- MIDTRANS_CREDITCARD = 0,
- MIDTRANS_BANKTRANSFER,
- MIDTRANS_BCA_KLIKBCA,
- MIDTRANS_BCA_KLIKPAY,
- MIDTRANS_BRI_EPAY,
- MIDTRANS_CIMB_CLICKS,
- MIDTRANS_DANAMON_ONLINE,
- MIDTRANS_UOB_EZPAY,
- MIDTRANS_QRIS,
- MIDTRANS_GOPAY,
- MIDTRANS_SHOPEEPAY,
- MIDTRANS_CSTORE,
- MIDTRANS_AKULAKU,
- MIDTRANS_KREDIVO
-};
-
struct midtrans_banktransfer {
char *bank;
char *va_number;
@@ -30,13 +13,18 @@ struct midtrans_banktransfer {
char *permata;
};
+#define midtrans_charge(x, y, z) _Generic((x),\
+ struct midtrans_banktransfer *:\
+ midtrans_charge_banktransfer(x, y, z)\
+ )
+
#ifdef __cplusplus
extern "C" {
#endif
void midtrans_init(const char *api_key, const char *cainfo);
void midtrans_status(const char *order_id);
-void midtrans_charge(enum midtrans_payment type, void *payment,
+void midtrans_charge_banktransfer(struct midtrans_banktransfer *banktransfer,
struct midtrans_transaction *transaction,
char *custom_fields[]);
void midtrans_cleanup();