From 213ea50b4711c8bd6fe0b5ea21fa8bc9a2d05313 Mon Sep 17 00:00:00 2001
From: jiangyong27 <yong27@163.com>
Date: Tue, 11 Mar 2025 14:41:42 +0800
Subject: [PATCH] alipay

---
 conf/alipay/config.json             |  9 +++
 conf/alipay/yuban_alipay_public.crt | 43 ++++++++++++++
 conf/alipay/yuban_alipay_root.crt   | 88 +++++++++++++++++++++++++++++
 conf/alipay/yuban_app_public.crt    | 23 ++++++++
 server/service/pay.go               | 11 ++--
 5 files changed, 170 insertions(+), 4 deletions(-)
 create mode 100644 conf/alipay/yuban_alipay_public.crt
 create mode 100644 conf/alipay/yuban_alipay_root.crt
 create mode 100644 conf/alipay/yuban_app_public.crt

diff --git a/conf/alipay/config.json b/conf/alipay/config.json
index 8108af8..25b0983 100644
--- a/conf/alipay/config.json
+++ b/conf/alipay/config.json
@@ -13,5 +13,14 @@
     "appId": "2021004137639439",
     "publicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA67hTfcwAP1wzJkUouuVB4Hp9rQlyopKa5Zvvz2M6kRB87BGnC385IoTMTGtZylsm06TmgRTqf5ES+U43YK3+Kqu+ccZAH5oWnD1auXJQK+IfaxSphT/BY7RBYKGK2lPMRgy0kCtshogLX6n4X3RPMAAfK4JbO6ZjLvmH2AhZ5VVXh2VUEWIpYAeZ0rWKkVbpnoCJ2BFaFnFqetHN16fY95F+dmXJMRWpCMhQfIlKWGlI37VvVGeplrnC1YarKXiw2DK+Agh93ecyZG3AfLJwRWmdL8lbbqKQJHmG5QKMB5syqG14HsOMcA6oBvcu6u+4/XY0U13W4vs8cV6Rz60Y7QIDAQAB",
     "privateKey": "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCQZ+RKi0pnLEncBoPskaSAYLswWR95J7Z7sizqAVjuZNd8uEBRoGDM1MIxbMMdsh76zINQEfW0lv0Ej2Gtu5baYEk9K7sYOKAJSoB6ousQB636kknN1a2sufmYSJDGfrYHnVdBExeEwa9UsbihKP0rTKaaHFpHAiu/KFD1UQTyb2g2p1NmdOvc7WkNuectfgiCquURUWEud9UkY5vXYfIb67dh7/QMAlpxvWkUAQRhxUjJvSCU5DCseZrrKUivprmasDXjNtEtKE1yH/1hvZYRcdu4N7ie98QFSkMozr0+5cPJNOGA65hypSTNGrSyAFH/MPEJFQgz7G36T1e53KfdAgMBAAECggEAPX7QvGIHBFra9UUdBzCaskT/Uj6R5aFg19pvwBNk0NjG34kDcv9uWaw9KpkbmljRUpKnVQDg9s/Z3ghFW5voSQT6C3/FBDKRDIPapN8eZUwv7eZAYdSeSlFElnJInQ8265U4pDDCMjndNZ8ddhwjfD3/MN/kHhsxkA1WNLIU/jyIsk1iqU89XH8PyrWoG1ZFBOQp5anbhxDl0QZUBFB0dRhpv+jjA566eBM7A6Ny+6UCu8NteobyDoWlFJMulyh6OWevOXqfvkKEy8WwSg4KFk5319xFLV7eQEiPpj1dxW1I5X3iNQlxkZw4beUSnDvG5tKeRYnYIvqy8vOrKXj/gQKBgQDU9E0udxJyz2s+0DehZAk8JTt+H69aPlL6musbPFTBMgzU36MwUlm33/VItABV80Kdq5+o/0PSOpIUQmg25fdb64I6OuaLM4+XlcpXMtVIJ39+KC1Il7kBym8TIk8ZS58bcgtv/mWNy/128oEg86Jt1COxaXpUxWhVmruFHonXoQKBgQCtmG19YXmnvCJDGa0jXwNdpj8CUkA58q5Ootv9HmZZ+9T4dyPa6xMCeLTYPgqLo45XfhP9Uoidk3z/j+cr1ch8g8Qm9cvmiNDwNutdaN3T7rrS12TX1FrSRYHkbROPDDTxM3bA310GaaifoEQsyWqREUWTt4/vZ3toyxgCS0y2vQKBgAMNGQoAZMBGXogA3bsvPr6g3fBZrd6CJBg5HgM+4wv9lpd6ONFZbLWovM/03Ehe+uZdbiUyuxsJAczOgsW+l8O2ZSBGdcUq0PTgDY0gSlQFVNtO4g83NUxkRSEmDbIUFkyDXsyU/YmBkbkhkl4Rf5NJRdWl6D3Mskj/tY4buOfhAoGAN/AMKADG8NPgvnqBngo5zW2KlDbo10NqA5DbDn9DP++0OrQ5a4ugPoWi0KN9Rm3Xqj3INzLnLs+d0cQPG8LxrZ3QETXXFFw155Hq2di20ln0/YfGyP12npcjOfYj/U5TqP2KYLAZC730RiugjEYC/ufv4Z+e0+gmjigTfnnBKIkCgYEAgXhspwHUJTGMUYxcgpPBzGs6YS9ATIuN410P5Uz9aRSsPDJIsrtwe0D3m60bSkPxlU99KCZFA+gIt6IkTfmGKa3Q37PX56cjnOLu+k9AJgIX5h1LlZv03t64dKOcMS/X90OKjRWkrzP5FVnjciSEFlOedcXnSh3gMRDBzoXYM3k="
+  },
+  "yuban": {
+    "isCert": true,
+    "appPublicKey": "conf/alipay/yuban_app_public.crt",
+    "alipayPublicKey": "conf/alipay/yuban_alipay_public.crt",
+    "alipayRootKey": "conf/alipay/yuban_alipay_root.crt",
+    "name": "重庆鱼办企业管理有限公司",
+    "appId": "2021005125622967",
+    "privateKey": "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDLvIB0V91/d5nBqWB+DhmKIVf4MSn0B1VclCSbfLi1+vb/+FVyHCpzUUdxYLJolXkv1BbZ1ZdXEy15z39CwdmMygHUqdZEWwOSHJiLPlBXo1/pEX15OX5yy3it8q3Eu1G/dmle9XLRLcxSy+ds+SiHZajpWUYJ6WVsL8Z8Xn/LIR8ZjkvVKv2UiQdEQc8EyKlyubU8FdxBsendjSTU1NPGS6tMHDX5289+fgTeOVFbCe/Tt3aqKYgExtYqZVtY82iueg7pyWF0J9AmxYWeIlafm2rK2TAGOVP0/QGZVggpS5/mZgTCv5dMvQflMXUon5Niyl4RkH+6S82HPebqH1F1AgMBAAECggEAcZFeOXxRKCDPQLjd5OaPLgRwORWOwUzlNHoP/eyEOkzvKriPSNCSiT2hiX3RdaL8rsCXDE6X0h4Kl4Am/Ft6nZRteNJDck8ZqnTuQ5A00OVtLUpmmxCFgBAT8UL5wlR4uTWUfy5rFldlMjIfiwtIoFD22zy8YgIMW0Y2alVy/xM0dS4GmLoLkeiQvP1ZWbu9uQLQPKFvIHGgxESkYoTIP+vl/YhiMPw3yVCRDP7CypW1LQwa06XhktdllpxQmreBukTtyZl72Tdc/A1Rwx/UsRdzSeYC1FL+abtIpUe6hYUx5d+09IHkfvu8yQxlmazw1vwH7zycequV2tgHRyCS8QKBgQDxdfS9ykKTm4btxxpyXxnk+xgfDFLIGyC0sXQGFkTVtVpyWOmyHRT+j5ziGhx8Y1lg9iPAgqce6b5YnNKTotJi2ZzvxmaNVpowItbNOmkvEkmzH2ZxTM4bw9yuH0Z32TrVLBpNdNAlKd9lD41AG3Y0W6HG5s+1LAfqKuFQvZOGOwKBgQDYAQkBK+UatBvlmBOABxurLcSPRFo/VQIMg+D/v7Qan8FVXNObUGmVDMHWZprp0AX+8GeCPn0+lCUbNX0zzYFjNzswzr1pf2Jb5/EzxoTEbkK/JPM6/nHJlF6Qhc2GojI1P8OxjoZo2iAucpMIv8fHxwTxkdD+pBJ+xXY4KqQcDwKBgQC5hIhq/ajTYk50CGLgdwMdNHLfAAfmaTliu2jKeHegvvrkGj5LtB56S3sdGTTDuU1luxfTBE9E6BBwYuVDu3jrrAjxDL2kYGKNE2d4PSWtnd50Om7qJDnDiWPXgH4S/Rs/x+fZlSOLOjXCnwVGuRLDvZd5i8MQjujx2MpOz6k2GwKBgHMfch4mt++YiLnAaLw2jZ+ZQAafhn30n6ft7dBA6wu5k4Acfkdr/ynKZ9EOVIhDL77lgDVher0Mlg4/XuBqKgioGir0NO1yUAjtwJc4ufA7V+WqGtyZWin2osPiHF0iOyI4PuN2M9rUToyS0hy6og6u2sqpTbs51QWt1kkvKNIvAoGATx5VQblqTTWFLm1I+82QFo0A4iOQ1qM5knPSWl5ESJpTN0mHM00stwyHtMsm012Ob+/BEGBZ3sGdJ5I0g5AjiM+QFOYvdcuDlFCzBIG33WgEj/ucUqTaTpESAdwB3XkoisPhySCkTdRFQCt7tONAdO7lSDx3CkZoV5PsfGq4S64="
   }
 }
\ No newline at end of file
diff --git a/conf/alipay/yuban_alipay_public.crt b/conf/alipay/yuban_alipay_public.crt
new file mode 100644
index 0000000..5940809
--- /dev/null
+++ b/conf/alipay/yuban_alipay_public.crt
@@ -0,0 +1,43 @@
+-----BEGIN CERTIFICATE-----
+MIIDsjCCApqgAwIBAgIQICUDEeB/UF3jYTmcM+T7hDANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
+BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
+YXNzIDIgUjEwHhcNMjUwMzExMDYwNTU2WhcNMzAwMzEwMDYwNTU2WjCBkjELMAkGA1UEBhMCQ04x
+LTArBgNVBAoMJOmHjeW6humxvOWKnuS8geS4mueuoeeQhuaciemZkOWFrOWPuDEPMA0GA1UECwwG
+QWxpcGF5MUMwQQYDVQQDDDrmlK/ku5jlrp0o5Lit5Zu9Kee9kee7nOaKgOacr+aciemZkOWFrOWP
+uC0yMDg4OTYwNzY0ODQxMTUxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA39UxWBvA
+6lFCUYV34ui0k4SROJqrkeJBFB/1p0eIvmuq7PZTH/8mvoxEpwLYyIjZkIeFnLKp8Zy8tQvYv9bt
+PA9zxwGjjXPUK2iyf+qjyiK8UjrfnXfLTEr7E44tnviriphBec61/WTn5Dr2XgWdHF7lK/MRsfYI
+5unOyaopq8jaD73i1NFEgTXxYROTdAav94MwXrWX7I90sUTGobN4zZ0zpd9U0fZyN/XOuoBJcDI7
+Y2qUoe3Q/MsChFzf6NjERoQpZ0em8JXmvsGuaifeMEPNxycO9bwt9rU8WCNhFSli1v1N7dELk9H+
+3eeMz5pFvNsdHWp6joJQOpw1DWxnfwIDAQABoxIwEDAOBgNVHQ8BAf8EBAMCA/gwDQYJKoZIhvcN
+AQELBQADggEBAC+2/09c/5MX+exVsZopNz1mKbhNrSEd+WY1cEhpPr3gkyKMd/XlnF14Zh2ieN+C
+rzFQsfE1cigwPYk+SRzNc/3dqmpKpAqvX05rNM82W+TmCi6EEsWdzYFA7D/9b92RCCqnO3M/wZmD
+XF1y50RueQbFcprGa30v/bMb1myMi3U4OwrryDd/MYF57zJ4qx0I7kgcfeJCDCnON/jCKMYIGo8w
+qBVHxQrkFkhmpr4Qf7EECR7ntDmbwLB7lxAYM7K+EWhno29HYw3zhFWIhGrbnsoYxfT8xUHijeVz
+FRSiAcIZ949cM/jxYTTHzHa+4wlUMJcy2qyxF4DjrvwBHb1HKNY=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIE4jCCAsqgAwIBAgIIYsSr5bKAMl8wDQYJKoZIhvcNAQELBQAwejELMAkGA1UEBhMCQ04xFjAU
+BgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MTEw
+LwYDVQQDDChBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFIxMB4XDTE4MDMy
+MjE0MzQxNVoXDTM3MTEyNjE0MzQxNVowgYIxCzAJBgNVBAYTAkNOMRYwFAYDVQQKDA1BbnQgRmlu
+YW5jaWFsMSAwHgYDVQQLDBdDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTE5MDcGA1UEAwwwQW50IEZp
+bmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBDbGFzcyAyIFIxMIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAsLMfYaoRoPRbmDcAfXPCmKf43pWRN5yTXa/KJWO0l+mrgQvs89bA
+NEvbDUxlkGwycwtwi5DgBuBgVhLliXu+R9CYgr2dXs8D8Hx/gsggDcyGPLmVrDOnL+dyeauheARZ
+fA3du60fwEwwbGcVIpIxPa/4n3IS/ElxQa6DNgqxh8J9Xwh7qMGl0JK9+bALuxf7B541Gr4p0WEN
+G8fhgjBV4w4ut9eQLOoa1eddOUSZcy46Z7allwowwgt7b5VFfx/P1iKJ3LzBMgkCK7GZ2kiLrL7R
+iqV+h482J7hkJD+ardoc6LnrHO/hIZymDxok+VH9fVeUdQa29IZKrIDVj65THQIDAQABo2MwYTAf
+BgNVHSMEGDAWgBRfdLQEwE8HWurlsdsio4dBspzhATAdBgNVHQ4EFgQUSqHkYINtUSAtDPnS8Xoy
+oP9p7qEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIB
+AIQ8TzFy4bVIVb8+WhHKCkKNPcJe2EZuIcqvRoi727lZTJOfYy/JzLtckyZYfEI8J0lasZ29wkTt
+a1IjSo+a6XdhudU4ONVBrL70U8Kzntplw/6TBNbLFpp7taRALjUgbCOk4EoBMbeCL0GiYYsTS0mw
+7xdySzmGQku4GTyqutIGPQwKxSj9iSFw1FCZqr4VP4tyXzMUgc52SzagA6i7AyLedd3tbS6lnR5B
+L+W9Kx9hwT8L7WANAxQzv/jGldeuSLN8bsTxlOYlsdjmIGu/C9OWblPYGpjQQIRyvs4Cc/mNhrh+
+14EQgwuemIIFDLOgcD+iISoN8CqegelNcJndFw1PDN6LkVoiHz9p7jzsge8RKay/QW6C03KNDpWZ
+EUCgCUdfHfo8xKeR+LL1cfn24HKJmZt8L/aeRZwZ1jwePXFRVtiXELvgJuM/tJDIFj2KD337iV64
+fWcKQ/ydDVGqfDZAdcU4hQdsrPWENwPTQPfVPq2NNLMyIH9+WKx9Ed6/WzeZmIy5ZWpX1TtTolo6
+OJXQFeItMAjHxW/ZSZTok5IS3FuRhExturaInnzjYpx50a6kS34c5+c8hYq7sAtZ/CNLZmBnBCFD
+aMQqT8xFZJ5uolUaSeXxg7JFY1QsYp5RKvj4SjFwCGKJ2+hPPe9UyyltxOidNtxjaknOCeBHytOr
+-----END CERTIFICATE-----
diff --git a/conf/alipay/yuban_alipay_root.crt b/conf/alipay/yuban_alipay_root.crt
new file mode 100644
index 0000000..76417c5
--- /dev/null
+++ b/conf/alipay/yuban_alipay_root.crt
@@ -0,0 +1,88 @@
+-----BEGIN CERTIFICATE-----
+MIIBszCCAVegAwIBAgIIaeL+wBcKxnswDAYIKoEcz1UBg3UFADAuMQswCQYDVQQG
+EwJDTjEOMAwGA1UECgwFTlJDQUMxDzANBgNVBAMMBlJPT1RDQTAeFw0xMjA3MTQw
+MzExNTlaFw00MjA3MDcwMzExNTlaMC4xCzAJBgNVBAYTAkNOMQ4wDAYDVQQKDAVO
+UkNBQzEPMA0GA1UEAwwGUk9PVENBMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE
+MPCca6pmgcchsTf2UnBeL9rtp4nw+itk1Kzrmbnqo05lUwkwlWK+4OIrtFdAqnRT
+V7Q9v1htkv42TsIutzd126NdMFswHwYDVR0jBBgwFoAUTDKxl9kzG8SmBcHG5Yti
+W/CXdlgwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFEwysZfZ
+MxvEpgXBxuWLYlvwl3ZYMAwGCCqBHM9VAYN1BQADSAAwRQIgG1bSLeOXp3oB8H7b
+53W+CKOPl2PknmWEq/lMhtn25HkCIQDaHDgWxWFtnCrBjH16/W3Ezn7/U/Vjo5xI
+pDoiVhsLwg==
+-----END CERTIFICATE-----
+
+-----BEGIN CERTIFICATE-----
+MIIF0zCCA7ugAwIBAgIIH8+hjWpIDREwDQYJKoZIhvcNAQELBQAwejELMAkGA1UE
+BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5jaWFsIENlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5IFIxMB4XDTE4MDMyMTEzNDg0MFoXDTM4MDIyODEzNDg0
+MFowejELMAkGA1UEBhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNV
+BAsMF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5j
+aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFIxMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEAtytTRcBNuur5h8xuxnlKJetT65cHGemGi8oD+beHFPTk
+rUTlFt9Xn7fAVGo6QSsPb9uGLpUFGEdGmbsQ2q9cV4P89qkH04VzIPwT7AywJdt2
+xAvMs+MgHFJzOYfL1QkdOOVO7NwKxH8IvlQgFabWomWk2Ei9WfUyxFjVO1LVh0Bp
+dRBeWLMkdudx0tl3+21t1apnReFNQ5nfX29xeSxIhesaMHDZFViO/DXDNW2BcTs6
+vSWKyJ4YIIIzStumD8K1xMsoaZBMDxg4itjWFaKRgNuPiIn4kjDY3kC66Sl/6yTl
+YUz8AybbEsICZzssdZh7jcNb1VRfk79lgAprm/Ktl+mgrU1gaMGP1OE25JCbqli1
+Pbw/BpPynyP9+XulE+2mxFwTYhKAwpDIDKuYsFUXuo8t261pCovI1CXFzAQM2w7H
+DtA2nOXSW6q0jGDJ5+WauH+K8ZSvA6x4sFo4u0KNCx0ROTBpLif6GTngqo3sj+98
+SZiMNLFMQoQkjkdN5Q5g9N6CFZPVZ6QpO0JcIc7S1le/g9z5iBKnifrKxy0TQjtG
+PsDwc8ubPnRm/F82RReCoyNyx63indpgFfhN7+KxUIQ9cOwwTvemmor0A+ZQamRe
+9LMuiEfEaWUDK+6O0Gl8lO571uI5onYdN1VIgOmwFbe+D8TcuzVjIZ/zvHrAGUcC
+AwEAAaNdMFswCwYDVR0PBAQDAgEGMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFF90
+tATATwda6uWx2yKjh0GynOEBMB8GA1UdIwQYMBaAFF90tATATwda6uWx2yKjh0Gy
+nOEBMA0GCSqGSIb3DQEBCwUAA4ICAQCVYaOtqOLIpsrEikE5lb+UARNSFJg6tpkf
+tJ2U8QF/DejemEHx5IClQu6ajxjtu0Aie4/3UnIXop8nH/Q57l+Wyt9T7N2WPiNq
+JSlYKYbJpPF8LXbuKYG3BTFTdOVFIeRe2NUyYh/xs6bXGr4WKTXb3qBmzR02FSy3
+IODQw5Q6zpXj8prYqFHYsOvGCEc1CwJaSaYwRhTkFedJUxiyhyB5GQwoFfExCVHW
+05ZFCAVYFldCJvUzfzrWubN6wX0DD2dwultgmldOn/W/n8at52mpPNvIdbZb2F41
+T0YZeoWnCJrYXjq/32oc1cmifIHqySnyMnavi75DxPCdZsCOpSAT4j4lAQRGsfgI
+kkLPGQieMfNNkMCKh7qjwdXAVtdqhf0RVtFILH3OyEodlk1HYXqX5iE5wlaKzDop
+PKwf2Q3BErq1xChYGGVS+dEvyXc/2nIBlt7uLWKp4XFjqekKbaGaLJdjYP5b2s7N
+1dM0MXQ/f8XoXKBkJNzEiM3hfsU6DOREgMc1DIsFKxfuMwX3EkVQM1If8ghb6x5Y
+jXayv+NLbidOSzk4vl5QwngO/JYFMkoc6i9LNwEaEtR9PhnrdubxmrtM+RjfBm02
+77q3dSWFESFQ4QxYWew4pHE0DpWbWy/iMIKQ6UZ5RLvB8GEcgt8ON7BBJeMc+Dyi
+kT9qhqn+lw==
+-----END CERTIFICATE-----
+
+-----BEGIN CERTIFICATE-----
+MIICiDCCAgygAwIBAgIIQX76UsB/30owDAYIKoZIzj0EAwMFADB6MQswCQYDVQQG
+EwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UECwwXQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNpYWwgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgRTEwHhcNMTkwNDI4MTYyMDQ0WhcNNDkwNDIwMTYyMDQ0
+WjB6MQswCQYDVQQGEwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UE
+CwwXQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNp
+YWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRTEwdjAQBgcqhkjOPQIBBgUrgQQA
+IgNiAASCCRa94QI0vR5Up9Yr9HEupz6hSoyjySYqo7v837KnmjveUIUNiuC9pWAU
+WP3jwLX3HkzeiNdeg22a0IZPoSUCpasufiLAnfXh6NInLiWBrjLJXDSGaY7vaokt
+rpZvAdmjXTBbMAsGA1UdDwQEAwIBBjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBRZ
+4ZTgDpksHL2qcpkFkxD2zVd16TAfBgNVHSMEGDAWgBRZ4ZTgDpksHL2qcpkFkxD2
+zVd16TAMBggqhkjOPQQDAwUAA2gAMGUCMQD4IoqT2hTUn0jt7oXLdMJ8q4vLp6sg
+wHfPiOr9gxreb+e6Oidwd2LDnC4OUqCWiF8CMAzwKs4SnDJYcMLf2vpkbuVE4dTH
+Rglz+HGcTLWsFs4KxLsq7MuU+vJTBUeDJeDjdA==
+-----END CERTIFICATE-----
+
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIUEMdk6dVgOEIS2cCP0Q43P90Ps5YwDQYJKoZIhvcNAQEF
+BQAwajELMAkGA1UEBhMCQ04xEzARBgNVBAoMCmlUcnVzQ2hpbmExHDAaBgNVBAsM
+E0NoaW5hIFRydXN0IE5ldHdvcmsxKDAmBgNVBAMMH2lUcnVzQ2hpbmEgQ2xhc3Mg
+MiBSb290IENBIC0gRzMwHhcNMTMwNDE4MDkzNjU2WhcNMzMwNDE4MDkzNjU2WjBq
+MQswCQYDVQQGEwJDTjETMBEGA1UECgwKaVRydXNDaGluYTEcMBoGA1UECwwTQ2hp
+bmEgVHJ1c3QgTmV0d29yazEoMCYGA1UEAwwfaVRydXNDaGluYSBDbGFzcyAyIFJv
+b3QgQ0EgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOPPShpV
+nJbMqqCw6Bz1kehnoPst9pkr0V9idOwU2oyS47/HjJXk9Rd5a9xfwkPO88trUpz5
+4GmmwspDXjVFu9L0eFaRuH3KMha1Ak01citbF7cQLJlS7XI+tpkTGHEY5pt3EsQg
+wykfZl/A1jrnSkspMS997r2Gim54cwz+mTMgDRhZsKK/lbOeBPpWtcFizjXYCqhw
+WktvQfZBYi6o4sHCshnOswi4yV1p+LuFcQ2ciYdWvULh1eZhLxHbGXyznYHi0dGN
+z+I9H8aXxqAQfHVhbdHNzi77hCxFjOy+hHrGsyzjrd2swVQ2iUWP8BfEQqGLqM1g
+KgWKYfcTGdbPB1MCAwEAAaNjMGEwHQYDVR0OBBYEFG/oAMxTVe7y0+408CTAK8hA
+uTyRMB8GA1UdIwQYMBaAFG/oAMxTVe7y0+408CTAK8hAuTyRMA8GA1UdEwEB/wQF
+MAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBLnUTfW7hp
+emMbuUGCk7RBswzOT83bDM6824EkUnf+X0iKS95SUNGeeSWK2o/3ALJo5hi7GZr3
+U8eLaWAcYizfO99UXMRBPw5PRR+gXGEronGUugLpxsjuynoLQu8GQAeysSXKbN1I
+UugDo9u8igJORYA+5ms0s5sCUySqbQ2R5z/GoceyI9LdxIVa1RjVX8pYOj8JFwtn
+DJN3ftSFvNMYwRuILKuqUYSHc2GPYiHVflDh5nDymCMOQFcFG3WsEuB+EYQPFgIU
+1DHmdZcz7Llx8UOZXX2JupWCYzK1XhJb+r4hK5ncf/w8qGtYlmyJpxk3hr1TfUJX
+Yf4Zr0fJsGuv
+-----END CERTIFICATE-----
\ No newline at end of file
diff --git a/conf/alipay/yuban_app_public.crt b/conf/alipay/yuban_app_public.crt
new file mode 100644
index 0000000..ae044f0
--- /dev/null
+++ b/conf/alipay/yuban_app_public.crt
@@ -0,0 +1,23 @@
+-----BEGIN CERTIFICATE-----
+MIIEoDCCA4igAwIBAgIQICUDETOKBf9j4e7/pivIgTANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
+BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
+YXNzIDEgUjEwHhcNMjUwMzExMDYwNTU0WhcNMzAwMzEwMDYwNTU0WjBoMQswCQYDVQQGEwJDTjEt
+MCsGA1UECgwk6YeN5bqG6bG85Yqe5LyB5Lia566h55CG5pyJ6ZmQ5YWs5Y+4MQ8wDQYDVQQLDAZB
+bGlwYXkxGTAXBgNVBAMMEDIwODg5NjA3NjQ4NDExNTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQDLvIB0V91/d5nBqWB+DhmKIVf4MSn0B1VclCSbfLi1+vb/+FVyHCpzUUdxYLJolXkv
+1BbZ1ZdXEy15z39CwdmMygHUqdZEWwOSHJiLPlBXo1/pEX15OX5yy3it8q3Eu1G/dmle9XLRLcxS
+y+ds+SiHZajpWUYJ6WVsL8Z8Xn/LIR8ZjkvVKv2UiQdEQc8EyKlyubU8FdxBsendjSTU1NPGS6tM
+HDX5289+fgTeOVFbCe/Tt3aqKYgExtYqZVtY82iueg7pyWF0J9AmxYWeIlafm2rK2TAGOVP0/QGZ
+VggpS5/mZgTCv5dMvQflMXUon5Niyl4RkH+6S82HPebqH1F1AgMBAAGjggEpMIIBJTAfBgNVHSME
+GDAWgBRxB+IEYRbk5fJl6zEPyeD0PJrVkTAdBgNVHQ4EFgQUU85E0H3VQisJrAOegkAtgwXumhYw
+QAYDVR0gBDkwNzA1BgdggRwBbgEBMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9jYS5hbGlwYXkuY29t
+L2Nwcy5wZGYwDgYDVR0PAQH/BAQDAgbAMC8GA1UdHwQoMCYwJKAioCCGHmh0dHA6Ly9jYS5hbGlw
+YXkuY29tL2NybDk5LmNybDBgBggrBgEFBQcBAQRUMFIwKAYIKwYBBQUHMAKGHGh0dHA6Ly9jYS5h
+bGlwYXkuY29tL2NhNi5jZXIwJgYIKwYBBQUHMAGGGmh0dHA6Ly9jYS5hbGlwYXkuY29tOjgzNDAv
+MA0GCSqGSIb3DQEBCwUAA4IBAQClD4gAB86Ouc5SBX3vpqXjH7K8x+bv5FbQi8qRMQ2RyHbXvltj
+qNFgYcUn4kt97QBeglRRiPvLBln2Oyfgm7rRyXbAicnPWHJExEEfoU9hGVEo3aEGGlmusKx1fiEl
+hHRwAWZoJEL+PQHXzNQocLmAwrJ/ea0i/GNWhU8Ty0jbAQ9m4GgZj8Bj92FUp0wWpkxQicDTHZ9h
+Vkl7bMriBc9S1jwhqARGJfmQe5C/q2nRt4vW7Gh19YhMZZEl/ryFyc6EjHPzh1iWq4Ckj7mGFFKx
+h1XYVTk63kk7CrBk/qCBnFufpD1r9yFitiCX2S68rqXSf1/NM9xWjQPhM3ywZwBb
+-----END CERTIFICATE-----
\ No newline at end of file
diff --git a/server/service/pay.go b/server/service/pay.go
index 003e567..e0717a5 100644
--- a/server/service/pay.go
+++ b/server/service/pay.go
@@ -33,7 +33,10 @@ func (p *Pay) Pay(corp *model.Corp, req *api.PayReq) {
 
 	payType := ""
 	payee := user.GetPayee()
-	if payee.AlipayUid != "" {
+	if req.PayType == "alipay" {
+		if payee.AlipayUid == "" {
+			panic("请绑定支付宝账号")
+		}
 		err = p.payAlipay(corp, user, req)
 		payType = "alipay"
 	} else {
@@ -49,12 +52,12 @@ func (p *Pay) Pay(corp *model.Corp, req *api.PayReq) {
 	message = append(message, fmt.Sprintf("费用说明:%s", req.Title))
 	if err != nil {
 		message = append(message, fmt.Sprintf("错误信息:%s", err.Error()))
+		global.SendMessage([]string{"jiangyong"}, strings.Join(message, "\n"))
 		log.Errorf("pay req[%s] error :%s", goutil.EncodeJSON(req), err.Error())
+		panic(config.ErrInternal.New().Append(err))
 	}
 
-	if err := global.SendMessage([]string{"jiangyong"}, strings.Join(message, "\n")); err != nil {
-		log.Errorf("send message error :%s", err.Error())
-	}
+	global.SendMessage([]string{"jiangyong"}, strings.Join(message, "\n"))
 }
 
 func (p *Pay) payAlipay(corp *model.Corp, user *model.StaffUser, req *api.PayReq) error {