package fpay const ( baseURL = "https://gpay.newgred.in" payURL = "/api/payin.php" queryPayURL = "/api/payinQuery.php" withdrawURL = "/api/payout.php" queryWithdrawURL = "/api/payoutQuery.php" // appID = "309582512" mid = "100034" ) var privateKey = []byte(`-----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAww4FgSWmlwspU8UwCWDdmXGaycTKIO0Ty1w8CupWS7/f6cKI WL9AXE4ovW3LZ7eTC6H07Bx5ONOpY6Dmd93tCr6Sq640zKg1ZV6tjzLA5FbNDE7P XqDKBXVs7xD40gb/sEBqYg89rf0ZrCYus4Y5yy2QoMvGxLnaKHTevf/ToSnCuRRa oJK/EvfKHnf8lZv5SG+ehIj4ECNxeV0XspDmXwuEiY7c68bKu2zku9Y2TpUg8DWx aiYCtWdspGqW+OAZib7uGn9Ou6BTNWtHuYD9lT9X+KCIf9u8WivikjRLLSLrOWbM COvq31olu7Jla15hY2Hn1BAfodo4XA8shel6mQIDAQABAoIBAB3r+TkyEuepzSmu HqvZobTnwgSAvTcm1zoDiKxt/VX6dblw36SplhBy5voELUdYWGTY7+8GgSwQADSp 2qD5uOLEkFBo1W2twh8uUnacpQ2CKUthjZspFESZGmBkHJ9vdmrNvuQTDXWy1Wzc oJ5mkVgTQdQA3pmQHyDEqOTBqW/X6RHUelldW8hjIUpFQqTqwvoeBuLeoWUSVc+3 1/1nKCbdcVk2xEDjCAhLhTJ8rkxEVezeQ6IFY0vjGNSaopD2gWoP/QHAak6BzMQX YEwEojMYxMHQvXQCXXK7xk6Epv3spMpT2O4DtMUwlAHG3T1m3lL+FiBeoBeC8e6k +A9PhnkCgYEA5infKZXEfntsa/pHcf0q1DE/qI92b2wU94R6XzKAWEjj9Bp9KnQ3 jJ7WKRV/AR+X9n5QEYHU/Ks1Nl2dCuZ2btNhu4cO0jquXmMfBx4Jju+vMDNOw4RY nG0QO2RcFxJ+TtDjnpyQ/dz8kYNXTu82VTyhq8dczm6uowkytf7UHQ0CgYEA2PM9 sSEEfIPC4xCUy17r9ZdLo8nSXv1dZ4G4xs365Y3U9Ex8hLrt7oQv0kYuCc6uelUR MXA6lPlD9GjPh2wbaDZFYx3TARHu4YkSu4lMxl0RjZ+r2nrzRKr8VOKtMemIXb4e O4Ver+yfk3j/te6tTmyjdR1y/ybyWttJLOReKL0CgYAH5RfKjWCYFhO6AHPC7TQy 4x2T4pflaoetldW8vja40IdBMEdq1WGyaSBfeGVK3JKR2fNVJmbv48+Hdd6VKSKW 2plXnWJcw7aHdk7yJ42cYYxY0um4uylu9C7CWsbt46yBd5jXL/epPZNMSn0MMBhl BBdnlQcR7an/3ajnpT4RYQKBgQDMV08kJxUysmg9tsBvTViyWW7FNrMPBVWUyHph xmErFgwejmw6GFdC8P6Z78AtPJ7aWoV3K14CM0XuT0opI4os/fEdClpUB7AYfiNG wGuv6rk9y8byYhv/8Yz55wd6m5v1r7yKE3S7/wPOw4kWs1hJJcpP5Q0LhoN/UEv8 HJ0TgQKBgQCgYeElMjRc30IUSV2HJjGbzAxsqF2Meli+QCskRb0AsjECFiDTMv5U PMPJl2MNVJmxsbJVYEuqP70i8EEXJjdnub3LCRsLAbBEkU6lQN5HAaMSkbPsJY0x hd1WOyi9xPI/tq4RBqxf1xQKProu+FIXp9hGD8+OKqXXsKOZoDM7tg== -----END RSA PRIVATE KEY-----`) var privateKeyCS8 = []byte(`-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDDDgWBJaaXCylT xTAJYN2ZcZrJxMog7RPLXDwK6lZLv9/pwohYv0BcTii9bctnt5MLofTsHHk406lj oOZ33e0KvpKrrjTMqDVlXq2PMsDkVs0MTs9eoMoFdWzvEPjSBv+wQGpiDz2t/Rms Ji6zhjnLLZCgy8bEudoodN69/9OhKcK5FFqgkr8S98oed/yVm/lIb56EiPgQI3F5 XReykOZfC4SJjtzrxsq7bOS71jZOlSDwNbFqJgK1Z2ykapb44BmJvu4af067oFM1 a0e5gP2VP1f4oIh/27xaK+KSNEstIus5ZswI6+rfWiW7smVrXmFjYefUEB+h2jhc DyyF6XqZAgMBAAECggEAHev5OTIS56nNKa4eq9mhtOfCBIC9NybXOgOIrG39Vfp1 uXDfpKmWEHLm+gQtR1hYZNjv7waBLBAANKnaoPm44sSQUGjVba3CHy5SdpylDYIp S2GNmykURJkaYGQcn292as2+5BMNdbLVbNygnmaRWBNB1ADemZAfIMSo5MGpb9fp EdR6WV1byGMhSkVCpOrC+h4G4t6hZRJVz7fX/WcoJt1xWTbEQOMICEuFMnyuTERV 7N5DogVjS+MY1JqikPaBag/9AcBqToHMxBdgTASiMxjEwdC9dAJdcrvGToSm/eyk ylPY7gO0xTCUAcbdPWbeUv4WIF6gF4Lx7qT4D0+GeQKBgQDmKd8plcR+e2xr+kdx /SrUMT+oj3ZvbBT3hHpfMoBYSOP0Gn0qdDeMntYpFX8BH5f2flARgdT8qzU2XZ0K 5nZu02G7hw7SOq5eYx8HHgmO768wM07DhFicbRA7ZFwXEn5O0OOenJD93PyRg1dO 7zZVPKGrx1zObq6jCTK1/tQdDQKBgQDY8z2xIQR8g8LjEJTLXuv1l0ujydJe/V1n gbjGzfrljdT0THyEuu3uhC/SRi4Jzq56VRExcDqU+UP0aM+HbBtoNkVjHdMBEe7h iRK7iUzGXRGNn6vaevNEqvxU4q0x6Yhdvh47hV6v7J+TeP+17q1ObKN1HXL/JvJa 20ks5F4ovQKBgAflF8qNYJgWE7oAc8LtNDLjHZPil+Vqh62V1by+NrjQh0EwR2rV YbJpIF94ZUrckpHZ81UmZu/jz4d13pUpIpbamVedYlzDtod2TvInjZxhjFjS6bi7 KW70LsJaxu3jrIF3mNcv96k9k0xKfQwwGGUEF2eVBxHtqf/dqOelPhFhAoGBAMxX TyQnFTKyaD22wG9NWLJZbsU2sw8FVZTIemHGYSsWDB6ObDoYV0Lw/pnvwC08ntpa hXcrXgIzRe5PSikjiiz98R0KWlQHsBh+I0bAa6/quT3LxvJiG//xjPnnB3qbm/Wv vIoTdLv/A87DiRazWEklyk/lDQuGg39QS/wcnROBAoGBAKBh4SUyNFzfQhRJXYcm MZvMDGyoXYx6WL5AKyRFvQCyMQIWINMy/lQ8w8mXYw1UmbGxslVgS6o/vSLwQRcm N2e5vcsJGwsBsESRTqVA3kcBoxKRs+wljTGF3VY7KL3E8j+2rhEGrF/XFAo+ui74 Uhen2EYPz44qpdewo5mgMzu2 -----END PRIVATE KEY-----`) var publicKey = []byte(`-----BEGIN RSA PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu3xCJwWBI7h0+nTkJhlw4nX+HGRYTFqnxmhC9s3pvukZwOIxDfwSHDZGpqe9jwfFDNMk9UguTZJPRrEoTSdmjMc8wN1tjk8XsUvtGOmWLmZkv84nR4zCbo2OzjbCAf3cMr3JDi8EGweHdia2tQGaX2enH3fabDhiSigewTwo96uj7ycFD6+7NMSoyyTko4lv+2QNzHs8ciPq0ep0V3tl/QM5fawfXLUA1f387+0/4gA7BN6kxerOCT0/L5/+WBu3j5f86pdV03i0kE4GU+MYnc5vVCSM4D3WcT98GJX6dkwuMiCNv4fzvLdkI2RLf0GfwF4jLyBBLyB1pcEMffNiqwIDAQAB -----END RSA PUBLIC KEY-----`) var myPublicKey = []byte(`-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAww4FgSWmlwspU8UwCWDd mXGaycTKIO0Ty1w8CupWS7/f6cKIWL9AXE4ovW3LZ7eTC6H07Bx5ONOpY6Dmd93t Cr6Sq640zKg1ZV6tjzLA5FbNDE7PXqDKBXVs7xD40gb/sEBqYg89rf0ZrCYus4Y5 yy2QoMvGxLnaKHTevf/ToSnCuRRaoJK/EvfKHnf8lZv5SG+ehIj4ECNxeV0XspDm XwuEiY7c68bKu2zku9Y2TpUg8DWxaiYCtWdspGqW+OAZib7uGn9Ou6BTNWtHuYD9 lT9X+KCIf9u8WivikjRLLSLrOWbMCOvq31olu7Jla15hY2Hn1BAfodo4XA8shel6 mQIDAQAB -----END PUBLIC KEY-----`) type PayReq struct { MerchantId string `json:"merchantId"` // 商户号 MerchantOrderId string `json:"merchantOrderId"` // 商户订单号 Amount int64 `json:"amount"` // 付款金额, 不含小数点,单位INR UserId string `json:"userId"` // 接入方玩家id Email string `json:"email"` // 邮箱 Mobile string `json:"mobile"` // 不带区号的印度手机号 Extra string `json:"extra,omitempty"` // 透传数据 NotifyUrl string `json:"notifyUrl"` // 回调地址 Sign string `json:"sign"` // 签名 } type PayResp struct { Ret int `json:"ret"` // 返回码,200 表示成功 Msg string `json:"msg"` // 返回信息,SUCCESS 表示成功 Data struct { MerchantId string `json:"merchantId"` // 商户号 OrderId string `json:"orderId"` // 系统生成订单号 PayLink string `json:"payLink"` // 支付链接 MerchantOrderId string `json:"merchantOrderId"` // 商户订单号 } `json:"data"` // 数据部分 } /* tradeStatus CREATE: Create a payment link TIMEOUT: TIMEOUT, FAIL: Payment failed SUCCESS: Payment successful */ type PayCallbackReq struct { MerchantId string `json:"merchantId"` // 商户号 OrderId string `json:"orderId"` // 系统生成订单号 PayState int `json:"payState"` // 代收状态 0:成功 1:失败 2:代收中 MerchantOrderId string `json:"merchantOrderId"` // 商户订单号 SuccessTime string `json:"successTime"` // 支付成功时间 Amount int `json:"amount"` // 支付金额 Extra string `json:"extra"` // 透传数据 PayMsg string `json:"payMsg"` // 结果说明 Sign string `json:"sign"` // 签名 } type QueryPayReq struct { MerchantId string `json:"merchantId"` // 商户号 OrderId string `json:"orderId"` // 系统生成订单号 Sign string `json:"sign"` // 签名 } type QueryPayResp struct { Ret int `json:"ret"` // 返回码 Msg string `json:"msg"` // 返回消息 Data struct { MerchantId string `json:"merchantId"` // 商户号 OrderId string `json:"orderId"` // 系统生成订单号 MerchantOrderId string `json:"merchantOrderId"` // 商户订单号 Amount int `json:"amount"` // 代付金额 SuccessTime int `json:"successTime"` // 支付成功时间 PayState int `json:"payState"` // 代收状态 0:成功, 1:失败, 2代收中 Extra string `json:"extra"` // 透传字段 } `json:"data"` } // 定义主请求结构体 type WithdrawReq struct { MerchantId string `json:"merchantId"` // 商户号 MerchantOrderId string `json:"merchantOrderId"` // 商户订单号 Amount int64 `json:"amount"` // 付款金额, 不含小数点,单位INR UserId string `json:"userId"` // 接入方玩家id PayType int `json:"payType"` // 付款类型:默认填4, 4-IMPS Account string `json:"account"` // 收款账号 AccountOwner string `json:"accountOwner"` // 银行持卡人(收款人)姓名, 至少三个英文字母 BankCode string `json:"bankCode"` // 印度银行ifsc号码 Email string `json:"email"` // 收款人邮箱 Mobile string `json:"mobile"` // 收款人不带区号的手机号 ClientIp string `json:"clientIp"` // 玩家IP NotifyUrl string `json:"notifyUrl"` // 结果通知地址 Sign string `json:"sign"` // 签名 } type WithdrawResp struct { Ret int `json:"ret"` // 状态码,200表示成功 Msg string `json:"msg"` // 提示信息 Data struct { MerchantId string `json:"merchantId"` // 商户号 OrderId string `json:"orderId"` // 系统生成订单号 MerchantOrderId string `json:"merchantOrderId"` // 商户订单号 Account string `json:"account"` // 收款账号 Amount int `json:"amount"` // 付款金额,单位INR MerchantDeduct int `json:"merchantDeduct"` // 税费 } `json:"data"` } type WithdrawCallback struct { MerchantId string `json:"merchantId"` // 商户号 OrderId string `json:"orderId"` // 系统生成订单号 MerchantOrderId string `json:"merchantOrderId"` // 商户订单号 Amount int `json:"amount"` // 代付金额 SuccessTime string `json:"successTime"` // 订单处理时间 Account string `json:"account"` // 收款方 PayState int `json:"payState"` // 订单状态,0:成功,1:失败,2:代付中 MerchantDeduct float64 `json:"merchantDeduct"` // 税费 PayMsg string `json:"payMsg"` // 结果说明 Utr string `json:"utr"` Sign string `json:"sign"` // 签名 } type QueryWithdrawReq struct { MerchantId string `json:"merchantId"` // 商户号 MerchantOrderId string `json:"merchantOrderId"` // 商户订单号 Sign string `json:"sign"` // 签名 } type QueryWithdrawResp struct { Ret int `json:"ret"` // 返回状态码,200为成功 Msg string `json:"msg"` // 返回信息 Data struct { MerchantId string `json:"merchantId"` // 商户号 OrderId string `json:"orderId"` // 系统生成订单号 MerchantOrderId string `json:"merchantOrderId"` // 商户订单号 Amount int `json:"amount"` // 代付金额 SuccessTime int `json:"successTime"` // 支付成功时间 Account string `json:"account"` // 收款方账户 PayState int `json:"payState"` // 订单状态 0:成功, 1:失败, 2:代付中 MerchantDeduct float64 `json:"merchantDeduct"` // 税费 } `json:"data"` }