作者 郭盛
1 个管道 的构建 通过 耗费 10 秒

客户商户平台配置

... ... @@ -2,7 +2,12 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="e93f11c2-a7d9-4d35-8b1c-8dd18e7f5fef" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/api/controller/User.php" afterPath="$PROJECT_DIR$/application/api/controller/User.php" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/public/cert/apiclient_cert.p12" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/public/cert/apiclient_cert.pem" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/public/cert/apiclient_key.pem" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/public/cert/证书使用说明.txt" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/extra/verify.php" afterPath="$PROJECT_DIR$/application/extra/verify.php" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" />
... ... @@ -13,11 +18,11 @@
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="User.php" pinned="false" current-in-tab="true">
<file leaf-file-name="User.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/application/api/controller/User.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1239">
<caret line="1486" column="20" lean-forward="true" selection-start-line="1486" selection-start-column="20" selection-end-line="1486" selection-end-column="20" />
<state relative-caret-position="871">
<caret line="1550" column="39" lean-forward="false" selection-start-line="1550" selection-start-column="39" selection-end-line="1550" selection-end-column="39" />
<folding>
<element signature="e#365#484#0#PHP" expanded="false" />
<element signature="e#490#1228#0#PHP" expanded="false" />
... ... @@ -88,13 +93,12 @@
<file leaf-file-name="Pay.php" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/application/api/controller/Pay.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="227">
<caret line="329" column="31" lean-forward="false" selection-start-line="329" selection-start-column="31" selection-end-line="329" selection-end-column="31" />
<state relative-caret-position="474">
<caret line="55" column="45" lean-forward="true" selection-start-line="55" selection-start-column="45" selection-end-line="55" selection-end-column="45" />
<folding>
<element signature="e#38#68#0#PHP" expanded="true" />
<element signature="e#472#591#0#PHP" expanded="false" />
<element signature="e#597#910#0#PHP" expanded="false" />
<element signature="e#915#2960#0#PHP" expanded="false" />
<element signature="e#2966#3286#0#PHP" expanded="false" />
<element signature="e#3291#5342#0#PHP" expanded="false" />
<element signature="e#5348#5766#0#PHP" expanded="false" />
... ... @@ -126,6 +130,16 @@
</provider>
</entry>
</file>
<file leaf-file-name="verify.php" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/application/extra/verify.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="397">
<caret line="17" column="6" lean-forward="true" selection-start-line="17" selection-start-column="6" selection-end-line="17" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FindInProjectRecents">
... ... @@ -185,10 +199,10 @@
<option value="$PROJECT_DIR$/public/assets/js/backend/order.js" />
<option value="$PROJECT_DIR$/application/admin/lang/zh-cn/order.php" />
<option value="$PROJECT_DIR$/application/admin/controller/Order.php" />
<option value="$PROJECT_DIR$/application/extra/verify.php" />
<option value="$PROJECT_DIR$/application/nsms/nsms.php" />
<option value="$PROJECT_DIR$/application/api/controller/Pay.php" />
<option value="$PROJECT_DIR$/application/api/controller/User.php" />
<option value="$PROJECT_DIR$/application/extra/verify.php" />
</list>
</option>
</component>
... ... @@ -207,10 +221,10 @@
</component>
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
<component name="ProjectFrameBounds" extendedState="1">
<option name="x" value="153" />
<option name="y" value="62" />
<option name="x" value="-2" />
<option name="y" value="41" />
<option name="width" value="1776" />
<option name="height" value="1042" />
<option name="height" value="1084" />
</component>
<component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1">
... ... @@ -227,6 +241,7 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
<expand>
... ... @@ -252,23 +267,35 @@
<item name="api" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="controller" type="2a2b976b:PhpTreeStructureProvider$1" />
</path>
<path>
<item name="areial" type="b2602c69:ProjectViewProjectNode" />
<item name="areial" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="application" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="extra" type="2a2b976b:PhpTreeStructureProvider$1" />
</path>
<path>
<item name="areial" type="b2602c69:ProjectViewProjectNode" />
<item name="areial" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="public" type="2a2b976b:PhpTreeStructureProvider$1" />
</path>
<path>
<item name="areial" type="b2602c69:ProjectViewProjectNode" />
<item name="areial" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="public" type="2a2b976b:PhpTreeStructureProvider$1" />
<item name="cert" type="2a2b976b:PhpTreeStructureProvider$1" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="Scope" />
<pane id="Scratches" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../scrap1/scrap" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
</component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="D:\htdocs\areial\public\uploads\20191118" />
<recent name="D:\htdocs\areial\public\uploads" />
</key>
<key name="CopyFile.RECENT_KEYS">
<recent name="D:\htdocs\areial\application" />
<recent name="D:\htdocs\areial\extend" />
... ... @@ -276,6 +303,11 @@
<recent name="D:\htdocs\areial\vendor\overtrue\wechat\src" />
<recent name="D:\htdocs\areial\application\api\controller" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="D:\htdocs\areial\public\cert" />
<recent name="D:\htdocs\areial\public\uploads\20191118" />
<recent name="D:\htdocs\areial\public\uploads" />
</key>
</component>
<component name="RunDashboard">
<option name="ruleStates">
... ... @@ -315,7 +347,9 @@
<workItem from="1574641631900" duration="15479000" />
<workItem from="1574669596135" duration="11747000" />
<workItem from="1574727687281" duration="17586000" />
<workItem from="1574759184313" duration="3844000" />
<workItem from="1574759184313" duration="4793000" />
<workItem from="1574814989178" duration="1007000" />
<workItem from="1574831367903" duration="224000" />
</task>
<task id="LOCAL-00001" summary="调试">
<created>1574145133364</created>
... ... @@ -328,7 +362,7 @@
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="251701000" />
<option name="totallyTimeSpent" value="253881000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
... ... @@ -340,19 +374,19 @@
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="153" y="62" width="1776" height="1042" extended-state="1" />
<frame x="-2" y="41" width="1776" height="1084" extended-state="1" />
<editor active="true" />
<layout>
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.14335664" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.1462704" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32912987" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.1281768" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
... ... @@ -398,13 +432,6 @@
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/vendor/overtrue/wechat/src/Factory.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="297">
<caret line="25" column="6" lean-forward="false" selection-start-line="25" selection-start-column="6" selection-end-line="25" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/vendor/overtrue/wechat/src/Kernel/Support/Helpers.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="411">
... ... @@ -683,13 +710,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/application/extra/verify.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="100">
<caret line="4" column="55" lean-forward="true" selection-start-line="4" selection-start-column="55" selection-end-line="4" selection-end-column="55" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Desktop/助通短信平台账号/php_Nsms_demo.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
... ... @@ -723,22 +743,25 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="283">
<caret line="15" column="13" lean-forward="false" selection-start-line="15" selection-start-column="13" selection-end-line="15" selection-end-column="13" />
<folding>
<element signature="e#461#1049#0#PHP" expanded="false" />
<element signature="e#1055#2041#0#PHP" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/vendor/overtrue/wechat/src/Payment/Order/Client.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="307">
<caret line="34" column="20" lean-forward="false" selection-start-line="34" selection-start-column="20" selection-end-line="34" selection-end-column="20" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/application/api/controller/Pay.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="227">
<caret line="329" column="31" lean-forward="false" selection-start-line="329" selection-start-column="31" selection-end-line="329" selection-end-column="31" />
<state relative-caret-position="474">
<caret line="55" column="45" lean-forward="true" selection-start-line="55" selection-start-column="45" selection-end-line="55" selection-end-column="45" />
<folding>
<element signature="e#38#68#0#PHP" expanded="true" />
<element signature="e#472#591#0#PHP" expanded="false" />
<element signature="e#597#910#0#PHP" expanded="false" />
<element signature="e#915#2960#0#PHP" expanded="false" />
<element signature="e#2966#3286#0#PHP" expanded="false" />
<element signature="e#3291#5342#0#PHP" expanded="false" />
<element signature="e#5348#5766#0#PHP" expanded="false" />
... ... @@ -771,8 +794,8 @@
</entry>
<entry file="file://$PROJECT_DIR$/application/api/controller/User.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1239">
<caret line="1486" column="20" lean-forward="true" selection-start-line="1486" selection-start-column="20" selection-end-line="1486" selection-end-column="20" />
<state relative-caret-position="871">
<caret line="1550" column="39" lean-forward="false" selection-start-line="1550" selection-start-column="39" selection-end-line="1550" selection-end-column="39" />
<folding>
<element signature="e#365#484#0#PHP" expanded="false" />
<element signature="e#490#1228#0#PHP" expanded="false" />
... ... @@ -839,5 +862,13 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/application/extra/verify.php">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="397">
<caret line="17" column="6" lean-forward="true" selection-start-line="17" selection-start-column="6" selection-end-line="17" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
</component>
</project>
\ No newline at end of file
... ...
... ... @@ -19,9 +19,9 @@ return [
'path'=>'http://q1i4mcfwv.bkt.clouddn.com',
//微信支付配置
'wx_pay' => [
'app_id' => '',
'mch_id' => '',
'key' => '', // 支付 密钥
'app_id' => 'wx4300d933e5abd5ba',
'mch_id' => '1564926431',
'key' => 'qVlAakIMilfqud0w1WMysBcWhztDKAox', // 支付 密钥
// 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书)
'cert_path' => ROOT_PATH.'public/cert/apiclient_cert.pem', // XXX: 绝对路径!!!!
... ...
不能预览此文件类型
-----BEGIN CERTIFICATE-----
MIID9jCCAt6gAwIBAgIUaR5cRQKfTyPHdmP4mCl988idQ5YwDQYJKoZIhvcNAQEL
BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
Q0EwHhcNMTkxMTI3MDI0NjI2WhcNMjQxMTI1MDI0NjI2WjCBhzETMBEGA1UEAwwK
MTU2NDkyNjQzMTEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMTMwMQYDVQQL
DCrlsbHkuJzku4HnlLLnnIvop4HlvbHlg4/mnI3liqHmnInpmZDlhazlj7gxCzAJ
BgNVBAYMAkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAKYdpcN4J75F0Y7PYHKqq4qZnS1VXui7JiMzb0d7c8Viq7K+
Yx0cWJTqsZiJVOdN+zkXTykiTDxZnrraHTKcf+gnZDy0rhnJWA+kEiLcORklBtOU
EOIRreYPa1kYQzH7Eybw9PJAS2B8bO0+deRtOCpVuUQv4K28nx7ogGMTu6RKkggK
keH1UPGHNCzGN6zTTZEkRkd+ps5n4i7+DLdS+GuOfufyWM8jneJrVQ/Uf3yxWRCU
fu8SDRX9sMX+9+Se9uTtC+4l17kP0WgTCgfdG7TjWtIPfBKGFnqMozQMmwDgjsA/
JJB/vxXvkKdPC+jxsh1K2Bt+/d2R2VAU4JdlMlcCAwEAAaOBgTB/MAkGA1UdEwQC
MAAwCwYDVR0PBAQDAgTwMGUGA1UdHwReMFwwWqBYoFaGVGh0dHA6Ly9ldmNhLml0
cnVzLmNvbS5jbi9wdWJsaWMvaXRydXNjcmw/Q0E9MUJENDIyMEU1MERCQzA0QjA2
QUQzOTc1NDk4NDZDMDFDM0U4RUJEMjANBgkqhkiG9w0BAQsFAAOCAQEAlsiryblg
4hFv7jbEWF1+rGGReKV3h5jitzLyOzPcBG1NWsU6t7U6DHDW+sIUsYAkhY+CRGLn
ho2HJwHaptCFUYtZQzNLJqjkYWKgQKdx+6LlQ8bo0IWRBu5Sd4vE8W2AhZ+vLtWm
nCDk4hbsH2NP8E0W8C27Fz4fqlQQ1yCbE2REw2jraY6qxSg0NcfqheZpKj27QjZy
rVEXD3ocZB329teoHf1WnwG+ivNtWEapdyEVONNHaNv7zOhNoHqKB8L7lj1i8NIG
jAeGd5GSpSbyy1YPeVBvWaEFX3C7/2rXKOMVnT2wgtl+N6BmPiy2hRxwcYENDNzZ
8JpEmvVk/kJFlA==
-----END CERTIFICATE-----
... ...
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCmHaXDeCe+RdGO
z2ByqquKmZ0tVV7ouyYjM29He3PFYquyvmMdHFiU6rGYiVTnTfs5F08pIkw8WZ66
2h0ynH/oJ2Q8tK4ZyVgPpBIi3DkZJQbTlBDiEa3mD2tZGEMx+xMm8PTyQEtgfGzt
PnXkbTgqVblEL+CtvJ8e6IBjE7ukSpIICpHh9VDxhzQsxjes002RJEZHfqbOZ+Iu
/gy3Uvhrjn7n8ljPI53ia1UP1H98sVkQlH7vEg0V/bDF/vfknvbk7QvuJde5D9Fo
EwoH3Ru041rSD3wShhZ6jKM0DJsA4I7APySQf78V75CnTwvo8bIdStgbfv3dkdlQ
FOCXZTJXAgMBAAECggEANoa0ypy+Lu6sArx/ZCQxeqVBuoezR6Fmu1c+x6/2KGxi
/6EO15deXENNWEx72hD2zZ6hFVd0vrqMJ7lArERCl+mWNXb5Tu2QQlIQwfCXrXFB
9GE9yXcUJdgZ3HziUZ2gg7/EJ2CDXYB6IMXH3Nsc/Ih277LnhR/M+1BGFD998Eci
llmIqg4cjhmBtpebil4rRM41TEWmXZpBFDZrInKTyOYB0fel0Vcz2AnvfvId61p8
sQzPmI9c1+h8ZBAYsm+/iqLr/4mLTcBw3BtyxH0fq3Ty1qnvVNAK9gD1j5ePTi+A
dAdzFz0oltXBQQy0XPLeq1sEsvZ1KfR3yEru5KQRgQKBgQDPEQqsJ7hHib3DKBm0
dcaep2+Gn7YTqdsrDIVIaMIIIbVtzTrbgWDsFm+G77MlcnRAi+XN7kU/n6Z9if1H
hP5/lkcNOSM1BCKq23Q523xwBkypJVi331F56si22bC+iR24e4dK9ofyaXDLvZwJ
uwhCWRvK403KIhpkfrq2HHmn6QKBgQDNXzKOkweMo8miVQJcKI7y2iuhu3STGqQm
op7bDM7vxWZQszbHK1UmVXuSnQRaKlEu2Uy4XXHR2as2gyowS7litw5y0zgCre6Y
W4oq5vnlv6uQT4yFMNU4nzyZC0eYnXm8zqsCFAPMDhj/GJAx84/OzLthNliE722I
2VEhoaHgPwKBgQCSjU0wayxR9XsJFOicgH8C6x5T+dW0NROZdFMg3IP3nWP7QrXV
hcxDS93DcwMoDcmZpWoQRgNc9HGxiGhqpgY55vKCuV3ht/uRUaEBEgcQgmTfkj8o
ZDYWQ8WrJIejUwhl+YfX1oSBXX8ntBssB+PgkZDKF/aGiXyEg+1B1wWDgQKBgQCv
pu2B3iVF18ycaCL1mcbx1UIeOUtyigW9+bbu2ZygnPBus2l1ng1dFR30/xD64VjA
PiENSvcPqiFzJWpPFmVAFhtogFlWiVcZvqmFGjrAk1f0vOUOAf9MR3231FrvIDlA
EG9Y/q9ktuYQQP0LjCsCkD7v3WCGipXfxydKIYlnVwKBgFXHWZFsi1vYnruKVTXL
E0pNIN6G+hDzke8QI2OjK3TYVlkbzGLsYFxg2yQgA+drJoAM8We7L9wJp16+lqFy
45OyP8ubIqrzXaiXSUo1PQw4+f1in+0XD6tA1SH8LBhEwWGsGgBz6MbJrK3atunR
1yy/WwqUyztX4tCqn8NRJGVB
-----END PRIVATE KEY-----
... ...
欢迎使用微信支付!
附件中的三份文件(证书pkcs12格式、证书pem格式、证书密钥pem格式),为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式(apiclient_cert.p12)
包含了私钥信息的证书文件,为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统,导入过程中会提示输入证书密码,证书密码默认为您的商户号(如:1900006031)
证书pem格式(apiclient_cert.pem)
从apiclient_cert.p12中导出证书部分的文件,为pem格式,请妥善保管不要泄漏和被他人复制
部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
您也可以使用openssl命令来自己导出:openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式(apiclient_key.pem)
从apiclient_cert.p12中导出密钥部分的文件,为pem格式
部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
您也可以使用openssl命令来自己导出:openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
备注说明:
由于绝大部分操作系统已内置了微信支付服务器证书的根CA证书, 2018年3月6日后, 不再提供CA证书文件(rootca.pem)下载
\ No newline at end of file
... ...