印度包网
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

147 lines
7.9 KiB

package luckinpay
const (
payURL = "https://api.luckyinpay.online/api/pay/createPayinOrder"
withdrawURL = "https://api.luckyinpay.online/api/pay/createPayoutOrder"
mid = "M1704341111"
key = "O4HWRE7LH3HFDU6YTZJJKW7AGCIEICBR2KT1BR8JJVSNBBVUGLV6RA8ECGR82RMLDAOW8SUZW5YHPARCZQVRQE8MS8GGNWQ3PCIDKNIIIS7MOT8AEKESTMCUTRVZYQW7"
)
var privateKeyPkCs8 = []byte(`-----BEGIN RSA PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdQYMybS8v6qy9uqTycOH2mRK4aLh4Pzvv530u5eBwY42I+bZO63fUXkXBnecPMgVnlcovPMpPtKa6ocQSAgW2vYmxO+gX0MKPPHcv7UfdmgtC8nUtNoJTfvNOgmElZD64lSJqSGSp2bEE1s6BLH9rLFAr61FzHCHvJFHBlycabXLbByDpLgU/aIDSc0Q8fvSUoS5TacUPSoyAnFZw6k4yX8IAgPZXO3I99CcjsgFjR0b5dXUDaGY4luU13Rg5s7n3iE6mDakiAQ8DJYQNc+I10EgFvoxuviWndiW3zoa1+VLGPsiif7E6X8nfqgOPaexd3E0H7JmUd6JRD0ge8HtXAgMBAAECggEAaI0J4Rjeaokn1+yjhdyvHviejaRyIOBJxTKu8+M52P8XNp5vKwE6ZiNXVWbaHCwxk7Du/4D3MQ72Wtb6OM7HZbuWNBOUN2FAOWMGCwNC6H5mRlhUt36qH0EkGmpslCOV37qnauo+ov5sxr7aBN/Ex0hq9Qg62sE1fn0zLfaEtPhMRqbHHJ9+Jfz7J2Fp69nSxpMfs0h/gOg2Eu2eX+tkgK6G99UJgN+D60XEWqofeUtTu/FVVrKYBLXY1Lzb0nv9XpYXtN4MJa+Xdct2FtHMDUgebCzlVZN/sVlLoSqm+nxdGJD6IbZB0GghW+YZMnimDZ47o+KD7CRXk3fjcvBnYQKBgQDUxvcyfmlcxQdwvOqxXcVW1YvgPSQTFpOc8LEZGwjzs+NjfAbS7tJE7mLImZwon8wHMzuZ2LGwSN+CdpgXiUlTAbcwkyKE9BT4X0GHwp/WD0MPl82EQR6M2bN/71zg+PQc4Sh03JgSC57YGIqVkT55OLlIF3xyriKuApZWMCuVgwKBgQC9M0cOGbJhnOJcRfdl+ZyxslubjocDNRdYH+nSZTddqpR7z04o00/6miCuvzURQ6QorULlh9+WSMB+xOBd4DHn5Zqmw4VN2UujW6dgUvXfXMqtmvldtWK+lsLsge0xbHAq5Ap9fuGnvrYfmvGGbk6m1a1XOnpmUHBVxIXUhBLunQKBgQCZ33Ew4N4NKqdgzh3jOm7VhwTqmwyViUQiwKUyBK0KoFKWxUCiFfeVxddGPmABuN3xbwlxDpYhZ/HLBTyj+LJABwOVazIRd/oaS7i2FvdD9DGI+zyyoe0X6u+2W0GNqDvRDrsVF9oZYrHykHzYAPtu6qiDDAkBXhDSSiiyF4/NRQKBgB59IekqyO0j+/JEsB51wAN+q3aA3E7vAkkIM4TdHLPyZiUhfgXkL5JBvhyK4YFbtht7+DjG0YgFR0fmcAWQuFoXTPmsrlGiP6cegPVryQVqjZq2S5MHRNdTsiussE1znQu8XdhlVvXSLMUhEeTI59HIwzs4SDsuoTuhBLP/aJGdAoGBAJ8ZCNGThSVcQijk1J1Sw0ZelGe2tsgb+2rTl8kiLDOQOgnGKaErGGAyzZBmESqq677vXwbQ+Xn7HWz6HnC+WVoAhxZCLTKXs4YdiMzOiCKeDNWky899OK3qG/6E9CqaO2Pn5F1xlYKVxIUfkwt7aQedFEIcSVN6op2V+JK4fEFX
-----END RSA PRIVATE KEY-----`)
var privateKey = []byte(`-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAnUGDMm0vL+qsvbqk8nDh9pkSuGi4eD877+d9LuXgcGONiPm2
Tut31F5FwZ3nDzIFZ5XKLzzKT7SmuqHEEgIFtr2JsTvoF9DCjzx3L+1H3ZoLQvJ1
LTaCU37zToJhJWQ+uJUiakhkqdmxBNbOgSx/ayxQK+tRcxwh7yRRwZcnGm1y2wcg
6S4FP2iA0nNEPH70lKEuU2nFD0qMgJxWcOpOMl/CAID2VztyPfQnI7IBY0dG+XV1
A2hmOJblNd0YObO594hOpg2pIgEPAyWEDXPiNdBIBb6Mbr4lp3Ylt86GtflSxj7I
on+xOl/J36oDj2nsXdxNB+yZlHeiUQ9IHvB7VwIDAQABAoIBAGiNCeEY3mqJJ9fs
o4Xcrx74no2kciDgScUyrvPjOdj/FzaebysBOmYjV1Vm2hwsMZOw7v+A9zEO9lrW
+jjOx2W7ljQTlDdhQDljBgsDQuh+ZkZYVLd+qh9BJBpqbJQjld+6p2rqPqL+bMa+
2gTfxMdIavUIOtrBNX59My32hLT4TEamxxyffiX8+ydhaevZ0saTH7NIf4DoNhLt
nl/rZICuhvfVCYDfg+tFxFqqH3lLU7vxVVaymAS12NS829J7/V6WF7TeDCWvl3XL
dhbRzA1IHmws5VWTf7FZS6Eqpvp8XRiQ+iG2QdBoIVvmGTJ4pg2eO6Pig+wkV5N3
43LwZ2ECgYEA1Mb3Mn5pXMUHcLzqsV3FVtWL4D0kExaTnPCxGRsI87PjY3wG0u7S
RO5iyJmcKJ/MBzM7mdixsEjfgnaYF4lJUwG3MJMihPQU+F9Bh8Kf1g9DD5fNhEEe
jNmzf+9c4Pj0HOEodNyYEgue2BiKlZE+eTi5SBd8cq4irgKWVjArlYMCgYEAvTNH
DhmyYZziXEX3ZfmcsbJbm46HAzUXWB/p0mU3XaqUe89OKNNP+pogrr81EUOkKK1C
5YfflkjAfsTgXeAx5+WapsOFTdlLo1unYFL131zKrZr5XbVivpbC7IHtMWxwKuQK
fX7hp762H5rxhm5OptWtVzp6ZlBwVcSF1IQS7p0CgYEAmd9xMODeDSqnYM4d4zpu
1YcE6psMlYlEIsClMgStCqBSlsVAohX3lcXXRj5gAbjd8W8JcQ6WIWfxywU8o/iy
QAcDlWsyEXf6Gku4thb3Q/QxiPs8sqHtF+rvtltBjag70Q67FRfaGWKx8pB82AD7
buqogwwJAV4Q0kooshePzUUCgYAefSHpKsjtI/vyRLAedcADfqt2gNxO7wJJCDOE
3Ryz8mYlIX4F5C+SQb4ciuGBW7Ybe/g4xtGIBUdH5nAFkLhaF0z5rK5Roj+nHoD1
a8kFao2atkuTB0TXU7IrrLBNc50LvF3YZVb10izFIRHkyOfRyMM7OEg7LqE7oQSz
/2iRnQKBgQCfGQjRk4UlXEIo5NSdUsNGXpRntrbIG/tq05fJIiwzkDoJximhKxhg
Ms2QZhEqquu+718G0Pl5+x1s+h5wvllaAIcWQi0yl7OGHYjMzogingzVpMvPfTit
6hv+hPQqmjtj5+RdcZWClcSFH5MLe2kHnRRCHElTeqKdlfiSuHxBVw==
-----END RSA PRIVATE KEY-----`)
var publicKey = []byte(`-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAh/nLyajLky2rGA1rKJD/CYi0BK1onauzcjbDTth9tGeypwZoFLHIlJw3vY1KMIkayBwCVYZK+9X7FpoIcBwcd3mfzFpQA0WIE7gDH+qdtlx/NVKpSyp/6c7l+iKEwxvt8fHbrN/QHMh9xehroS/f8cKxEA8/dC/DAmQQ284ydJ81Ft8pUksWEyL4s3cqbMZSQsbam86U5aU55qWvPvMGqHx/5tfr9dyQ1Pytvr1H9oRPvVXmFRSLofY8GlYapbchSsViyGfAWERs3hYQvAOGB62TEKJfeYTiQyd7/Akn0XCS1S2kS4KllRqq1pIU0XKVjFqXuLf69z05fGZDkytAawIDAQAB
-----END PUBLIC KEY-----
`)
var myPublicKey = []byte(`-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnUGDMm0vL+qsvbqk8nDh9pkSuGi4eD877+d9LuXgcGONiPm2Tut31F5FwZ3nDzIFZ5XKLzzKT7SmuqHEEgIFtr2JsTvoF9DCjzx3L+1H3ZoLQvJ1LTaCU37zToJhJWQ+uJUiakhkqdmxBNbOgSx/ayxQK+tRcxwh7yRRwZcnGm1y2wcg6S4FP2iA0nNEPH70lKEuU2nFD0qMgJxWcOpOMl/CAID2VztyPfQnI7IBY0dG+XV1A2hmOJblNd0YObO594hOpg2pIgEPAyWEDXPiNdBIBb6Mbr4lp3Ylt86GtflSxj7Ion+xOl/J36oDj2nsXdxNB+yZlHeiUQ9IHvB7VwIDAQAB
-----END PUBLIC KEY-----`)
// var (
// whiteIPs = []string{"52.67.100.247", "15.228.167.245", "54.207.16.136"}
// )
type PayReq struct {
MchNo string `json:"mchNo"`
MchOrderNo string `json:"mchOrderNo"`
Currency string `json:"currency"`
PayAmount string `json:"payAmount"`
AccountName string `json:"accountName"`
AccountEmail string `json:"accountEmail"`
AccountPhone string `json:"accountPhone"`
CustomerIP string `json:"customerIp"`
NotifyUrl string `json:"notifyUrl"`
SuccessPageUrl string `json:"successPageUrl"`
Summary string `json:"summary,omitempty"`
ReqTime string `json:"reqTime"`
Sign string `json:"sign"`
}
type PayResp struct {
Code string `json:"code"`
Message string `json:"message"`
Sign string `json:"sign"`
Data PaymentData `json:"data"`
}
// PaymentData 包含在支付响应中的数据体定义
type PaymentData struct {
PayOrderNo string `json:"payOrderNo"`
MchOrderNo string `json:"mchOrderNo"`
MchNo string `json:"mchNo"`
Currency string `json:"currency"`
PayAmount string `json:"payAmount"`
PayInitiateTime string `json:"payInitiateTime"`
PayData string `json:"payData"`
PayReference string `json:"payReference,omitempty"`
PayState int `json:"payState"`
}
type PayCallbackReq struct {
PayOrderNo string `json:"payOrderNo"`
MchOrderNo string `json:"mchOrderNo"`
MchNo string `json:"mchNo"`
Currency string `json:"currency"`
PayAmount string `json:"payAmount"`
PayState int `json:"payState"`
PayInitiateTime string `json:"payInitiateTime"`
PayFinishTime string `json:"payFinishTime"`
ErrMsg string `json:"errMsg,omitempty"`
Sign string `json:"sign"`
}
type WithdrawReq struct {
MchNo string `json:"mchNo"`
MchOrderNo string `json:"mchOrderNo"`
Currency string `json:"currency"`
PayAmount string `json:"payAmount"`
AccountType string `json:"accountType"`
AccountCode string `json:"accountCode"`
AccountNo string `json:"accountNo"`
AccountName string `json:"accountName"`
AccountEmail string `json:"accountEmail"`
AccountPhone string `json:"accountPhone"`
CustomerIP string `json:"customerIp"`
NotifyUrl string `json:"notifyUrl"`
Summary string `json:"summary,omitempty"`
ReqTime string `json:"reqTime"`
Sign string `json:"sign"`
}
type WithdrawResp struct {
Code string `json:"code"`
Message string `json:"message"`
Sign string `json:"sign"`
Data PayoutData `json:"data"`
}
type PayoutData struct {
PayOrderNo string `json:"payOrderNo"`
MchOrderNo string `json:"mchOrderNo"`
MchNo string `json:"mchNo"`
Currency string `json:"currency"`
PayAmount string `json:"payAmount"`
PayInitiateTime string `json:"payInitiateTime"`
PayState int `json:"payState"`
}
type WithdrawCallbackReq struct {
PayOrderNo string `json:"payOrderNo"`
MchOrderNo string `json:"mchOrderNo"`
MchNo string `json:"mchNo"`
Currency string `json:"currency"`
PayAmount string `json:"payAmount"`
PayState int `json:"payState"`
PayInitiateTime string `json:"payInitiateTime"`
PayFinishTime string `json:"payFinishTime"`
ErrMsg string `json:"errMsg,omitempty"`
Sign string `json:"sign"`
}