#ifndef __mx_payments_h__
#define __mx_payments_h__

#include "vars.h"


typedef enum { TT_DEPOSIT, TT_REVERSAL, TT_AUTH, TT_CAPTURE, TT_VOID, TT_VBV_ENROLL,TT_PARES_AUTH, TT_FORCE, TT_VERIFY_ONLY,TT_RECUR_ACTIVATE,TT_RECUR_SUSPEND,TT_RECUR_DELETE,TT_UNKNOWN} ETType;

enum { TD_F_OK, TD_F_REVERSED, TD_F_CANCELLED, TD_F_ERROR };

#define		TD_F_VOIDED	TD_F_CANCELLED

enum { 	WHAT_PAYMENT, WHAT_RECHARGE, WHAT_BILLCANCEL, WHAT_PURCHASE, WHAT_BALANCE_PAYMENT, WHAT_SMS_PAYMENT, WHAT_DONATION_PAYMENT, WHAT_SM_BALANCE, WHAT_SM_NEWCARD, WHAT_SM_EXISTCARD, WHAT_BANK_DEPOSIT ,WHAT_TOPUP_BALANCE,WHAT_DIR_TOPUP_CC, WHAT_DIR_TOPUP_BAL };

extern char * WHATs[];

enum { CORE_INIT_O, CORE_SRC_SENT, CORE_SRC_RET, CORE_DEST_SENT, CORE_DEST_RET, CORE_DONE,CORE_INIT, CORE_PENDING_PHONE_VERIFICATION, CORE_FAILED_VERIFICATION };

enum { CORE_F_INIT_O, CORE_F_OK, CORE_F_ERROR, CORE_F_CANCELLED, CORE_F_FRAUD_CANCELLED,CORE_F_INIT, CORE_F_PENDING_VERIFICATION, CORE_F_AUTHOURIZED };


long medTVerifyPaymentType(CVars in, CVars &out);
long medTConductInitialPayment(CVars in, CVars &out);
long kleenConfirmPickup(CVars in, CVars &out);
void Confirmation( unsigned long  payment_id, char * number, int sz );
#endif

