syntax = "proto3"; message Merchant { enum Env { SANDBOX = 0; PRODUCTION = 1; } Env env = 1; string access_key = 2; string secret_key = 3; string vanity_url = 4; string js_signin_id = 5; string js_signin_secret = 6; } message Address { string street1 = 1; string street2 = 2; string city = 3; string state = 4; string country = 5; string pincode = 6; } message User { string fname = 1; string lname = 2; string email = 3; string mobile = 4; // 10-digit Address address = 5; string username = 6; string password = 7; } message Instrument { enum Type { CREDIT_CARD = 0; DEBIT_CARD = 1; NET_BANKING = 2; } enum CardScheme { VISA = 0; MASTERCARD = 1; MAESTRO = 2; AMEX = 3; DINERS = 4; RUPAY = 5; } Type type = 1; CardScheme card_scheme = 2; string card_number = 3; uint32 card_expiry_month = 4; uint32 card_expiry_year = 5; string card_cvv = 6; string card_owner_name = 7; string bank_name = 8; string bank_code = 9; string citrus_token = 10; string citrus_name = 11; } message CustomParam { string name = 1; string value = 2; } message Transaction { string id = 1; string currency = 2; double amount = 3; string signature = 4; string return_url = 5; string notify_url = 6; repeated CustomParam custom_params = 7; } message AccessToken { string access_token = 1; string token_type = 2; string refresh_token = 3; uint64 expires_in = 4; repeated string scopes = 5; uint64 received_at = 6; }