作者 王晓刚
1 个管道 的构建 通过 耗费 1 秒

证书

@@ -2,6 +2,11 @@ @@ -2,6 +2,11 @@
2 <project version="4"> 2 <project version="4">
3 <component name="ChangeListManager"> 3 <component name="ChangeListManager">
4 <list default="true" id="309ad746-5b2a-4c29-af46-e7925a35765c" name="默认的" comment=""> 4 <list default="true" id="309ad746-5b2a-4c29-af46-e7925a35765c" name="默认的" comment="">
  5 + <change afterPath="$PROJECT_DIR$/public/assets/img/wechat_pay.png" afterDir="false" />
  6 + <change afterPath="$PROJECT_DIR$/public/wechat/cert/apiclient_cert.p12" afterDir="false" />
  7 + <change afterPath="$PROJECT_DIR$/public/wechat/cert/apiclient_cert.pem" afterDir="false" />
  8 + <change afterPath="$PROJECT_DIR$/public/wechat/cert/apiclient_key.pem" afterDir="false" />
  9 + <change afterPath="$PROJECT_DIR$/public/wechat/cert/证书使用说明.txt" afterDir="false" />
5 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> 10 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
6 <change beforePath="$PROJECT_DIR$/application/admin/view/pay_view/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/application/admin/view/pay_view/index.html" afterDir="false" /> 11 <change beforePath="$PROJECT_DIR$/application/admin/view/pay_view/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/application/admin/view/pay_view/index.html" afterDir="false" />
7 <change beforePath="$PROJECT_DIR$/public/assets/js/backend/pay_view.js" beforeDir="false" afterPath="$PROJECT_DIR$/public/assets/js/backend/pay_view.js" afterDir="false" /> 12 <change beforePath="$PROJECT_DIR$/public/assets/js/backend/pay_view.js" beforeDir="false" afterPath="$PROJECT_DIR$/public/assets/js/backend/pay_view.js" afterDir="false" />
@@ -45,8 +50,8 @@ @@ -45,8 +50,8 @@
45 <file leaf-file-name="index.html" pinned="false" current-in-tab="false"> 50 <file leaf-file-name="index.html" pinned="false" current-in-tab="false">
46 <entry file="file://$PROJECT_DIR$/application/admin/view/pay_view/index.html"> 51 <entry file="file://$PROJECT_DIR$/application/admin/view/pay_view/index.html">
47 <provider selected="true" editor-type-id="text-editor"> 52 <provider selected="true" editor-type-id="text-editor">
48 - <state relative-caret-position="623">  
49 - <caret line="62" column="50" lean-forward="true" selection-start-line="62" selection-start-column="50" selection-end-line="62" selection-end-column="50" /> 53 + <state relative-caret-position="589">
  54 + <caret line="61" column="76" selection-start-line="61" selection-start-column="76" selection-end-line="61" selection-end-column="76" />
50 <folding> 55 <folding>
51 <element signature="n#style#0;n#td#0;n#tr#3;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" /> 56 <element signature="n#style#0;n#td#0;n#tr#3;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" />
52 <element signature="n#style#0;n#input#0;n#b#0;n#td#1;n#tr#3;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" /> 57 <element signature="n#style#0;n#input#0;n#b#0;n#td#1;n#tr#3;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" />
@@ -55,6 +60,7 @@ @@ -55,6 +60,7 @@
55 <element signature="e#2151#2157#0" expanded="true" /> 60 <element signature="e#2151#2157#0" expanded="true" />
56 <element signature="e#2157#2163#0" expanded="true" /> 61 <element signature="e#2157#2163#0" expanded="true" />
57 <element signature="n#style#0;n#span#0;n#div#0;n#b#0;n#td#1;n#tr#3;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" /> 62 <element signature="n#style#0;n#span#0;n#div#0;n#b#0;n#td#1;n#tr#3;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" />
  63 + <element signature="n#style#0;n#td#1;n#tr#5;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" />
58 </folding> 64 </folding>
59 </state> 65 </state>
60 </provider> 66 </provider>
@@ -73,7 +79,7 @@ @@ -73,7 +79,7 @@
73 <entry file="file://$PROJECT_DIR$/public/assets/js/backend/pay_view.js"> 79 <entry file="file://$PROJECT_DIR$/public/assets/js/backend/pay_view.js">
74 <provider selected="true" editor-type-id="text-editor"> 80 <provider selected="true" editor-type-id="text-editor">
75 <state relative-caret-position="544"> 81 <state relative-caret-position="544">
76 - <caret line="44" column="62" selection-start-line="44" selection-start-column="62" selection-end-line="44" selection-end-column="62" /> 82 + <caret line="44" column="47" selection-start-line="44" selection-start-column="47" selection-end-line="44" selection-end-column="47" />
77 </state> 83 </state>
78 </provider> 84 </provider>
79 </entry> 85 </entry>
@@ -282,6 +288,32 @@ @@ -282,6 +288,32 @@
282 <item name="advertising" type="462c0819:PsiDirectoryNode" /> 288 <item name="advertising" type="462c0819:PsiDirectoryNode" />
283 <item name="public" type="462c0819:PsiDirectoryNode" /> 289 <item name="public" type="462c0819:PsiDirectoryNode" />
284 </path> 290 </path>
  291 + <path>
  292 + <item name="advertising" type="b2602c69:ProjectViewProjectNode" />
  293 + <item name="advertising" type="462c0819:PsiDirectoryNode" />
  294 + <item name="public" type="462c0819:PsiDirectoryNode" />
  295 + <item name="assets" type="462c0819:PsiDirectoryNode" />
  296 + </path>
  297 + <path>
  298 + <item name="advertising" type="b2602c69:ProjectViewProjectNode" />
  299 + <item name="advertising" type="462c0819:PsiDirectoryNode" />
  300 + <item name="public" type="462c0819:PsiDirectoryNode" />
  301 + <item name="assets" type="462c0819:PsiDirectoryNode" />
  302 + <item name="img" type="462c0819:PsiDirectoryNode" />
  303 + </path>
  304 + <path>
  305 + <item name="advertising" type="b2602c69:ProjectViewProjectNode" />
  306 + <item name="advertising" type="462c0819:PsiDirectoryNode" />
  307 + <item name="public" type="462c0819:PsiDirectoryNode" />
  308 + <item name="wechat" type="462c0819:PsiDirectoryNode" />
  309 + </path>
  310 + <path>
  311 + <item name="advertising" type="b2602c69:ProjectViewProjectNode" />
  312 + <item name="advertising" type="462c0819:PsiDirectoryNode" />
  313 + <item name="public" type="462c0819:PsiDirectoryNode" />
  314 + <item name="wechat" type="462c0819:PsiDirectoryNode" />
  315 + <item name="cert" type="462c0819:PsiDirectoryNode" />
  316 + </path>
285 </expand> 317 </expand>
286 <select /> 318 <select />
287 </subPane> 319 </subPane>
@@ -301,11 +333,11 @@ @@ -301,11 +333,11 @@
301 <recent name="D:\wamp\www\advertising\public\assets\js\backend" /> 333 <recent name="D:\wamp\www\advertising\public\assets\js\backend" />
302 </key> 334 </key>
303 <key name="CopyFile.RECENT_KEYS"> 335 <key name="CopyFile.RECENT_KEYS">
  336 + <recent name="D:\wamp\www\advertising\public\assets\img" />
  337 + <recent name="D:\wamp\www\advertising\public\wechat\cert" />
  338 + <recent name="D:\wamp\www\advertising\public" />
304 <recent name="D:\wamp\www\advertising\public\assets\js\backend\wechat" /> 339 <recent name="D:\wamp\www\advertising\public\assets\js\backend\wechat" />
305 <recent name="D:\wamp\www\advertising\application\admin\view\pay" /> 340 <recent name="D:\wamp\www\advertising\application\admin\view\pay" />
306 - <recent name="D:\wamp\www\advertising\public" />  
307 - <recent name="D:\wamp\www\advertising" />  
308 - <recent name="D:\wamp\www\advertising\application\home\controller" />  
309 </key> 341 </key>
310 </component> 342 </component>
311 <component name="RunDashboard"> 343 <component name="RunDashboard">
@@ -343,7 +375,7 @@ @@ -343,7 +375,7 @@
343 <workItem from="1572050747518" duration="29776000" /> 375 <workItem from="1572050747518" duration="29776000" />
344 <workItem from="1572087949120" duration="1641000" /> 376 <workItem from="1572087949120" duration="1641000" />
345 <workItem from="1572223206994" duration="28857000" /> 377 <workItem from="1572223206994" duration="28857000" />
346 - <workItem from="1572309778506" duration="15341000" /> 378 + <workItem from="1572309778506" duration="17281000" />
347 </task> 379 </task>
348 <task id="LOCAL-00001" summary="数据库配置"> 380 <task id="LOCAL-00001" summary="数据库配置">
349 <created>1571972429395</created> 381 <created>1571972429395</created>
@@ -422,11 +454,18 @@ @@ -422,11 +454,18 @@
422 <option name="project" value="LOCAL" /> 454 <option name="project" value="LOCAL" />
423 <updated>1572329583925</updated> 455 <updated>1572329583925</updated>
424 </task> 456 </task>
425 - <option name="localTasksCounter" value="12" /> 457 + <task id="LOCAL-00012" summary="调试授权">
  458 + <created>1572329761583</created>
  459 + <option name="number" value="00012" />
  460 + <option name="presentableId" value="LOCAL-00012" />
  461 + <option name="project" value="LOCAL" />
  462 + <updated>1572329761584</updated>
  463 + </task>
  464 + <option name="localTasksCounter" value="13" />
426 <servers /> 465 <servers />
427 </component> 466 </component>
428 <component name="TimeTrackingManager"> 467 <component name="TimeTrackingManager">
429 - <option name="totallyTimeSpent" value="174449000" /> 468 + <option name="totallyTimeSpent" value="176389000" />
430 </component> 469 </component>
431 <component name="ToolWindowManager"> 470 <component name="ToolWindowManager">
432 <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" /> 471 <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
@@ -439,7 +478,7 @@ @@ -439,7 +478,7 @@
439 <window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" /> 478 <window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" />
440 <window_info anchor="bottom" id="Terminal" order="7" weight="0.32997763" /> 479 <window_info anchor="bottom" id="Terminal" order="7" weight="0.32997763" />
441 <window_info anchor="bottom" id="运行" order="7" /> 480 <window_info anchor="bottom" id="运行" order="7" />
442 - <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.13539445" /> 481 + <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.13539445" />
443 <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" /> 482 <window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
444 <window_info anchor="right" id="Database" order="3" /> 483 <window_info anchor="right" id="Database" order="3" />
445 <window_info id="Structure" order="1" side_tool="true" weight="0.25" /> 484 <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
@@ -492,13 +531,6 @@ @@ -492,13 +531,6 @@
492 <option name="LAST_COMMIT_MESSAGE" value="调试授权" /> 531 <option name="LAST_COMMIT_MESSAGE" value="调试授权" />
493 </component> 532 </component>
494 <component name="editorHistoryManager"> 533 <component name="editorHistoryManager">
495 - <entry file="file://$PROJECT_DIR$/application/admin/view/merchant_audit/edit.html">  
496 - <provider selected="true" editor-type-id="text-editor">  
497 - <state relative-caret-position="1037">  
498 - <caret line="106" column="23" selection-start-line="106" selection-start-column="23" selection-end-line="106" selection-end-column="23" />  
499 - </state>  
500 - </provider>  
501 - </entry>  
502 <entry file="file://$PROJECT_DIR$/application/extra/site.php"> 534 <entry file="file://$PROJECT_DIR$/application/extra/site.php">
503 <provider selected="true" editor-type-id="text-editor" /> 535 <provider selected="true" editor-type-id="text-editor" />
504 </entry> 536 </entry>
@@ -823,10 +855,13 @@ @@ -823,10 +855,13 @@
823 <state relative-caret-position="-1213" /> 855 <state relative-caret-position="-1213" />
824 </provider> 856 </provider>
825 </entry> 857 </entry>
  858 + <entry file="file://$PROJECT_DIR$/public/wechat/cert/证书使用说明.txt">
  859 + <provider selected="true" editor-type-id="text-editor" />
  860 + </entry>
826 <entry file="file://$PROJECT_DIR$/application/admin/view/pay_view/index.html"> 861 <entry file="file://$PROJECT_DIR$/application/admin/view/pay_view/index.html">
827 <provider selected="true" editor-type-id="text-editor"> 862 <provider selected="true" editor-type-id="text-editor">
828 - <state relative-caret-position="623">  
829 - <caret line="62" column="50" lean-forward="true" selection-start-line="62" selection-start-column="50" selection-end-line="62" selection-end-column="50" /> 863 + <state relative-caret-position="589">
  864 + <caret line="61" column="76" selection-start-line="61" selection-start-column="76" selection-end-line="61" selection-end-column="76" />
830 <folding> 865 <folding>
831 <element signature="n#style#0;n#td#0;n#tr#3;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" /> 866 <element signature="n#style#0;n#td#0;n#tr#3;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" />
832 <element signature="n#style#0;n#input#0;n#b#0;n#td#1;n#tr#3;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" /> 867 <element signature="n#style#0;n#input#0;n#b#0;n#td#1;n#tr#3;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" />
@@ -835,6 +870,7 @@ @@ -835,6 +870,7 @@
835 <element signature="e#2151#2157#0" expanded="true" /> 870 <element signature="e#2151#2157#0" expanded="true" />
836 <element signature="e#2157#2163#0" expanded="true" /> 871 <element signature="e#2157#2163#0" expanded="true" />
837 <element signature="n#style#0;n#span#0;n#div#0;n#b#0;n#td#1;n#tr#3;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" /> 872 <element signature="n#style#0;n#span#0;n#div#0;n#b#0;n#td#1;n#tr#3;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" />
  873 + <element signature="n#style#0;n#td#1;n#tr#5;n#tbody#0;n#table#0;n#div#0;n#div#0;n#div#0;n#div#0;n#div#1;n#div#0;n#!!top" expanded="true" />
838 </folding> 874 </folding>
839 </state> 875 </state>
840 </provider> 876 </provider>
@@ -842,7 +878,7 @@ @@ -842,7 +878,7 @@
842 <entry file="file://$PROJECT_DIR$/public/assets/js/backend/pay_view.js"> 878 <entry file="file://$PROJECT_DIR$/public/assets/js/backend/pay_view.js">
843 <provider selected="true" editor-type-id="text-editor"> 879 <provider selected="true" editor-type-id="text-editor">
844 <state relative-caret-position="544"> 880 <state relative-caret-position="544">
845 - <caret line="44" column="62" selection-start-line="44" selection-start-column="62" selection-end-line="44" selection-end-column="62" /> 881 + <caret line="44" column="47" selection-start-line="44" selection-start-column="47" selection-end-line="44" selection-end-column="47" />
846 </state> 882 </state>
847 </provider> 883 </provider>
848 </entry> 884 </entry>
@@ -59,8 +59,9 @@ @@ -59,8 +59,9 @@
59 </tr> 59 </tr>
60 <tr> 60 <tr>
61 <td></td> 61 <td></td>
62 - <td class="qrcode">  
63 - <img src=""/> 62 + <td class="qrcode" style="display: none;">
  63 + <img src="http://advertising.w.brotop.cn/admin/pay_view/pay/order_id/8"/>
  64 + <img src="__CDN__/assets/img/wechat_pay.png"/>
64 </td> 65 </td>
65 </tr> 66 </tr>
66 </tbody> 67 </tbody>
@@ -42,7 +42,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin @@ -42,7 +42,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
42 data:{'admin_id':admin_id,'total':total}, 42 data:{'admin_id':admin_id,'total':total},
43 success:function(res){ 43 success:function(res){
44 if(res.code == 1){ 44 if(res.code == 1){
45 - $('.qrcode').find('img').attr('src',window.location.protocol+"//"+window.location.host+"/admin/pay_view/pay/order_id/"+res.data.order_id); 45 + $('.qrcode').show().find('img').attr('src',window.location.protocol+"//"+window.location.host+"/admin/pay_view/pay/order_id/"+res.data.order_id);
46 }else{ 46 }else{
47 top.window.Layer.open({ 47 top.window.Layer.open({
48 title:'温馨提示', 48 title:'温馨提示',
不能预览此文件类型
  1 +-----BEGIN CERTIFICATE-----
  2 +MIID9jCCAt6gAwIBAgIUVDjo9WYTJD9/JpXTQBtaCIqvQFIwDQYJKoZIhvcNAQEL
  3 +BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
  4 +FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
  5 +Q0EwHhcNMTkxMDIxMDMzOTM2WhcNMjQxMDE5MDMzOTM2WjCBhzETMBEGA1UEAwwK
  6 +MTU1OTU5ODA0MTEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMTMwMQYDVQQL
  7 +DCrlpKnmtKXkuInnnJ/mlZnogrLkv6Hmga/lkqjor6LmnInpmZDlhazlj7gxCzAJ
  8 +BgNVBAYMAkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQAD
  9 +ggEPADCCAQoCggEBALrIaPQkxHAS0eMvTQF+8tnQx9f3eXcyYLt11MQupr/GgdHV
  10 +OcvPICHKOrn3+t8icVtc5X0Qs/yQHyhxa643WPNZPjXTRIszr7qCRHWSVoYaMvRB
  11 +JTUqTqQq1Mac9sEdkRvoVmdCvmmnyXhF3Mo23yzjoBDzpExMf/Fbcb1cK9yjGS6M
  12 +58yXKYW28Y0iGRn5+EG/nRU339BgYkQpeKuW3uIw1JWNmHLRCY8DrzPsiHkEARVE
  13 +TMYiKhUh+YUslKrjtcooGAnK2OkGD7Z8ip4j1cUgrsbqc8oqEC1ROPOyzpgzrbgz
  14 +K3gan6+2Ph2MNar4aPCql+3xjIhRT5lx5UIONI0CAwEAAaOBgTB/MAkGA1UdEwQC
  15 +MAAwCwYDVR0PBAQDAgTwMGUGA1UdHwReMFwwWqBYoFaGVGh0dHA6Ly9ldmNhLml0
  16 +cnVzLmNvbS5jbi9wdWJsaWMvaXRydXNjcmw/Q0E9MUJENDIyMEU1MERCQzA0QjA2
  17 +QUQzOTc1NDk4NDZDMDFDM0U4RUJEMjANBgkqhkiG9w0BAQsFAAOCAQEAuRhDMQOE
  18 +QkjoFnSve/O2AV+FAtuYN6FFyYjFRx+PgXr8XlUOhE3GPaeZCacymicp8pJ25r2v
  19 +jXS3iDvUxYQmAVhjidkj6/TJqps4f1EPdOqSiFvPJE981Z+R4dTqXuVyxiQbFsfm
  20 +bRqSR7ta540qneXezA4WCrMGKKgwvKanhTbKHyImzlj1U9xmqd3w4r60uujsrJ5D
  21 +pmFzNMow+vICwE1wPb+liHHsKVLT60FhicyowznWK8HSuU5KtrynZ8apjl0/PgNr
  22 +tKiqB+RKu9l6WaSd/k69mHZZ6GOvA5V/tbrWq68o4Us7H9cUH+yVnuU2olrB7L2d
  23 +dOFp9O9DRVwC0w==
  24 +-----END CERTIFICATE-----
  1 +-----BEGIN PRIVATE KEY-----
  2 +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6yGj0JMRwEtHj
  3 +L00BfvLZ0MfX93l3MmC7ddTELqa/xoHR1TnLzyAhyjq59/rfInFbXOV9ELP8kB8o
  4 +cWuuN1jzWT4100SLM6+6gkR1klaGGjL0QSU1Kk6kKtTGnPbBHZEb6FZnQr5pp8l4
  5 +RdzKNt8s46AQ86RMTH/xW3G9XCvcoxkujOfMlymFtvGNIhkZ+fhBv50VN9/QYGJE
  6 +KXirlt7iMNSVjZhy0QmPA68z7Ih5BAEVREzGIioVIfmFLJSq47XKKBgJytjpBg+2
  7 +fIqeI9XFIK7G6nPKKhAtUTjzss6YM624Myt4Gp+vtj4djDWq+Gjwqpft8YyIUU+Z
  8 +ceVCDjSNAgMBAAECggEBALqI7xfzqCJtCSOj13nI+GtDMHGkeq/ppeVQ9d2+4VTg
  9 +wEF4erHp9qMIPcH/v5Eb6q1dhupxxe5TWGqhavKf37uXwqMqjGeghLz0372zGanv
  10 +fDem36vKxqL5C2oW0+9kwchnLfMOGu+VW4U78BYa2qMP6IlFaS2xsIyv0FVWOY+r
  11 +teKCYqaB3U+Ea+Q4Sl/cYtbfEzPrWdzgL8tjBOd1aVa6mBs87Fu90vehH0UvWZjs
  12 +wGgFI6JJgdHb69YTaVDSKQHdwogiZpSSt/VQbJi33rh5lNgCNS4Vk0a18olFuTdP
  13 +6dEc6SfgR9FeQ/UmQ8VfD3KCWxLgfyedyafoW5ME64ECgYEA3p8e8E0HPite8wzQ
  14 +Wa4PiABtgo902wIN67csTwDW9Zhx2Lx2NWNP35gIJB8QLL7ov9yMo/MjET3kLKaU
  15 +T4/vH9CdjtsT4j/RLFIhLvrUCzBQus00Mp1PuwFDDqxUfJeObjzb2iQTdrOhZvpe
  16 +am1l/TNfJH+zTEu54jogVdViBlECgYEA1smxRPKwFFa7DF5WJk5TvO3SI3XFF7hz
  17 +ENU+n13Pv8+sCqY7RYTqbJ3riM3J3LsrQ0SiHe7pVWw6G+8oljH21udTplieG5ik
  18 +BjIEEGblB0bbdoX6Utp/6W+Tn92mi8cEwnBO4jnq89CSI+eNinwun2UUAzlQ5nhS
  19 +jPY8Psg0b30CgYBdobc1gnBFaaBpwT3wOhE2NlfYzdVsN5T7SvNL1yKR8SgQ7FMb
  20 +aUWy2RKzfo0jBLiH2Y8ddamOGuXZEcbXH8aHLwrVhrb6NbUYWwKx67U7b3rE1oHZ
  21 +t+hM0t8NUNXIAUZafyZIvVuiVTLRSQRk5tY6hFzD0SHsOP1ZdPEcqL6twQKBgAq6
  22 +5Lo3DYjWlF2X0OH1A8Xqc5cF6SS4ODddD9XST/CbJVMa3tcoPrXSZdPdw/nc99pS
  23 +cW7hYpK752NB3Vszf8tYnxsuTie+xmLw2LchDMwCRDB1nP3KoJ0+z7cq0YkmFhzI
  24 +k4hFsHEhuEtG5BFJBuM7n3ZRxLLey/Dy1CumwMfZAoGBALxc1mq2KaK+xmstDDfH
  25 +UKYhZ1yvLIcrgc0K7JTncpkJ1WMUu2gG+oqRR7OP+4xtoBeal5i4SYemXynyhTtm
  26 +JWlGAjiOc65Hm4oKfJUKDnae16KdjbCkpWzREBo0wYejJ6YWqBwZYZejHgVzD/27
  27 +ZEFRFw5h7MdpYJ9Lp55qRVkb
  28 +-----END PRIVATE KEY-----
  1 +欢迎使用微信支付!
  2 +附件中的三份文件(证书pkcs12格式、证书pem格式、证书密钥pem格式),为接口中强制要求时需携带的证书文件。
  3 +证书属于敏感信息,请妥善保管不要泄露和被他人复制。
  4 +不同开发语言下的证书格式不同,以下为说明指引:
  5 + 证书pkcs12格式(apiclient_cert.p12)
  6 + 包含了私钥信息的证书文件,为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
  7 + 部分安全性要求较高的API需要使用该证书来确认您的调用身份
  8 + windows上可以直接双击导入系统,导入过程中会提示输入证书密码,证书密码默认为您的商户号(如:1900006031)
  9 + 证书pem格式(apiclient_cert.pem)
  10 + 从apiclient_cert.p12中导出证书部分的文件,为pem格式,请妥善保管不要泄漏和被他人复制
  11 + 部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
  12 + 您也可以使用openssl命令来自己导出:openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
  13 + 证书密钥pem格式(apiclient_key.pem)
  14 + 从apiclient_cert.p12中导出密钥部分的文件,为pem格式
  15 + 部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
  16 + 您也可以使用openssl命令来自己导出:openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
  17 +备注说明:
  18 + 由于绝大部分操作系统已内置了微信支付服务器证书的根CA证书, 2018年3月6日后, 不再提供CA证书文件(rootca.pem)下载