Index.cshtml 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898
  1. @{
  2. ViewData["Title"] = ".Net Core 支付产品示例";
  3. }
  4. <div id="wrapper">
  5. <div id="header">
  6. <h2>.Net Core 支付产品示例</h2>
  7. </div>
  8. <div id="tabs-api">
  9. <ul>
  10. <li><a href="#tabs-api-1">前言</a></li>
  11. <li><a href="#tabs-api-alipay">支付宝示例</a></li>
  12. <li><a href="#tabs-api-wechatpay">微信支付示例</a></li>
  13. <li><a href="#tabs-api-qpay">QQ钱包示例</a></li>
  14. <li><a href="#tabs-api-jdpay">京东支付示例</a></li>
  15. </ul>
  16. <div id="tabs-api-1">
  17. <h3>官方文档/帮助:</h3>
  18. <p>支付宝:<a href="https://openhome.alipay.com/developmentDocument.htm" target="_blank">文档中心</a>、<a href="https://open.alipay.com/support/supportCenter.htm" target="_blank">技术支持中心</a>、<a href="https://openclub.alipay.com/index.php" target="_blank">开发者社区</a></p>
  19. <p>微信支付:<a href="https://pay.weixin.qq.com/wiki/doc/api/index.html" target="_blank">开发文档</a>、<a href="http://wxpay.wxutil.com/qa/index.php" target="_blank">问答中心</a>、<a href="http://kf.qq.com/product/wechatpaymentmerchant.html" target="_blank">帮助中心</a></p>
  20. <p>QQ钱包:<a href="https://qpay.qq.com/qpaywiki.shtml" target="_blank">开发文档</a>、<a href="http://kf.qq.com/product/qq_enterprise.html" target="_blank">帮助中心</a></p>
  21. <p>京东支付:<a href="http://payapi.jd.com/" target="_blank">开发文档</a></p>
  22. <h3>*参数配置(3选1,推荐使用3):</h3>
  23. <p>1.使用代码配置如:services.AddAlipay(Options => { Options.AppId = ""; });</p>
  24. <p>2.使用<a href="https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/configuration?tabs=basicconfiguration" target="_blank">"配置文件"</a>的方式,可在appsetting.json、appsettings.Development.json设置参数</p>
  25. <p>3.使用<a href="https://docs.microsoft.com/zh-cn/aspnet/core/security/app-secrets?tabs=visual-studio" target="_blank">"用户机密"</a>的方式,可在VS中右键项目->管理用户机密,再设置参数(与2相似)。</p>
  26. <p>*参数详情可见Startup.cs文件的ConfigureServices方法下的注释代码"配置参数"。</p>
  27. <h3>*注意:</h3>
  28. <p>1.示例开发环境:Windows10、VS2017 15.4.4、.Net Core 2.0.3</p>
  29. <p>2.支持渠道:支付宝、微信支付、QQ钱包、京东支付(仅扫码支付)。</p>
  30. <p>3.示例使用了依赖注入与用户机密(见Startup.cs文件的ConfigureServices方法),需要自行配置(可以参考上方"参数配置")。当然你不使用依赖注入方式,自己new AlipayClient(...,...)/new WeChatPayClient(...,...)再调用也可以。</p>
  31. <p>4.部分API未做示例,可根据现有示例与官网API参数文档自行调用(除京东支付外其他支付的API基本齐全了)。</p>
  32. <p>5.接收支付渠道通知(NotifyController.cs文件)需要公网环境运行(另外记得修改notify_url参数)。</p>
  33. </div>
  34. <div id="tabs-api-alipay">
  35. <div id="tabs-purchase-alipay">
  36. <ul>
  37. <li><a href="#tabs-purchase-1">网页支付</a></li>
  38. <li><a href="#tabs-purchase-2">扫码支付</a></li>
  39. <li><a href="#tabs-purchase-3">交易查询</a></li>
  40. <li><a href="#tabs-purchase-4">交易退款</a></li>
  41. <li><a href="#tabs-purchase-5">退款查询</a></li>
  42. <li><a href="#tabs-purchase-6">交易关闭</a></li>
  43. <li><a href="#tabs-purchase-7">单笔转账</a></li>
  44. <li><a href="#tabs-purchase-8">转账查询</a></li>
  45. <li><a href="#tabs-purchase-9">对账查询</a></li>
  46. </ul>
  47. <div id="tabs-purchase-1">
  48. <form class="api-form" asp-controller="Alipay" asp-action="PagePay" method="post" target="_blank">
  49. <p>
  50. <label>out_trade_no:</label>
  51. <input type="text" name="out_trade_no" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")">
  52. </p>
  53. <p>
  54. <label>subject:</label>
  55. <input type="text" name="subject" value="支付宝网页支付测试">
  56. </p>
  57. <p>
  58. <label>total_amount:</label>
  59. <input type="text" name="total_amount" value="0.01" title="单位为元,精确至小数点后2位。">
  60. </p>
  61. <p>
  62. <label>body:</label>
  63. <input type="text" name="body">
  64. </p>
  65. <p>
  66. <label>product_code:</label>
  67. <input type="text" name="product_code" value="FAST_INSTANT_TRADE_PAY">
  68. </p>
  69. <p>
  70. <label>notify_url:</label>
  71. <input type="text" name="notify_url" value="http://www.baidu.com/notify/alipay/pagepay">
  72. </p>
  73. <p>
  74. <label>&nbsp;</label>
  75. <input type="submit" class="button" value="提交">
  76. </p>
  77. </form>
  78. <hr />
  79. <p class="faq">
  80. <a href="https://docs.open.alipay.com/270/alipay.trade.page.pay" target="_blank">* 查看接口 请求参数、响应参数</a>
  81. </p>
  82. </div>
  83. <div id="tabs-purchase-2">
  84. <form class="api-form" asp-controller="Alipay" asp-action="PreCreate" method="post" target="_blank">
  85. <p>
  86. <label>out_trade_no:</label>
  87. <input type="text" name="out_trade_no" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")">
  88. </p>
  89. <p>
  90. <label>subject:</label>
  91. <input type="text" name="subject" value="支付宝扫码支付测试">
  92. </p>
  93. <p>
  94. <label>total_amount:</label>
  95. <input type="text" name="total_amount" value="0.01" title="单位为元,精确至小数点后2位。">
  96. </p>
  97. <p>
  98. <label>body:</label>
  99. <input type="text" name="body">
  100. </p>
  101. <p>
  102. <label>notify_url:</label>
  103. <input type="text" name="notify_url" value="http://www.baidu.com/notify/alipay/precreate">
  104. </p>
  105. <p>
  106. <label>&nbsp;</label>
  107. <input type="submit" class="button" value="提交">
  108. </p>
  109. </form>
  110. <hr />
  111. <p class="faq">
  112. <a href="https://docs.open.alipay.com/api_1/alipay.trade.precreate" target="_blank">* 查看接口 请求参数、响应参数</a>
  113. </p>
  114. </div>
  115. <div id="tabs-purchase-3">
  116. <form class="api-form" asp-controller="Alipay" asp-action="Query" method="post" target="_blank">
  117. <p>
  118. <label>out_trade_no:</label>
  119. <input type="text" name="out_trade_no">
  120. </p>
  121. <p>
  122. <label>trade_no:</label>
  123. <input type="text" name="trade_no">
  124. </p>
  125. <p>
  126. <label>&nbsp;</label>
  127. <input type="submit" class="button" value="提交">
  128. </p>
  129. </form>
  130. <hr />
  131. <p class="faq">
  132. <a href="https://docs.open.alipay.com/api_1/alipay.trade.query" target="_blank">* 查看接口 请求参数、响应参数</a>
  133. </p>
  134. </div>
  135. <div id="tabs-purchase-4">
  136. <form class="api-form" asp-controller="Alipay" asp-action="Refund" method="post" target="_blank">
  137. <p>
  138. <label>out_trade_no:</label>
  139. <input type="text" name="out_trade_no">
  140. </p>
  141. <p>
  142. <label>trade_no:</label>
  143. <input type="text" name="trade_no">
  144. </p>
  145. <p>
  146. <label>out_request_no:</label>
  147. <input type="text" name="out_request_no" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")">
  148. </p>
  149. <p>
  150. <label>refund_amount:</label>
  151. <input type="text" name="refund_amount">
  152. </p>
  153. <p>
  154. <label>refund_reason:</label>
  155. <input type="text" name="refund_reason">
  156. </p>
  157. <p>
  158. <label>&nbsp;</label>
  159. <input type="submit" class="button" value="提交">
  160. </p>
  161. </form>
  162. <hr />
  163. <p class="faq">
  164. <a href="https://docs.open.alipay.com/api_1/alipay.trade.refund" target="_blank">* 查看接口 请求参数、响应参数</a>
  165. </p>
  166. </div>
  167. <div id="tabs-purchase-5">
  168. <form class="api-form" asp-controller="Alipay" asp-action="RefundQuery" method="post" target="_blank">
  169. <p>
  170. <label>out_trade_no:</label>
  171. <input type="text" name="out_trade_no">
  172. </p>
  173. <p>
  174. <label>trade_no:</label>
  175. <input type="text" name="trade_no">
  176. </p>
  177. <p>
  178. <label>out_request_no:</label>
  179. <input type="text" name="out_request_no">
  180. </p>
  181. <p>
  182. <label>&nbsp;</label>
  183. <input type="submit" class="button" value="提交">
  184. </p>
  185. </form>
  186. <hr />
  187. <p class="faq">
  188. <a href="https://docs.open.alipay.com/api_1/alipay.trade.fastpay.refund.query" target="_blank">* 查看接口 请求参数、响应参数</a>
  189. </p>
  190. </div>
  191. <div id="tabs-purchase-6">
  192. <form class="api-form" asp-controller="Alipay" asp-action="Close" method="post" target="_blank">
  193. <p>
  194. <label>out_trade_no:</label>
  195. <input type="text" name="out_trade_no">
  196. </p>
  197. <p>
  198. <label>trade_no:</label>
  199. <input type="text" name="trade_no">
  200. </p>
  201. <p>
  202. <label>&nbsp;</label>
  203. <input type="submit" class="button" value="提交">
  204. </p>
  205. </form>
  206. <hr />
  207. <p class="faq">
  208. <a href="https://docs.open.alipay.com/api_1/alipay.trade.close" target="_blank">* 查看接口 请求参数、响应参数</a>
  209. </p>
  210. </div>
  211. <div id="tabs-purchase-7">
  212. <form class="api-form" asp-controller="Alipay" asp-action="Trans" method="post" target="_blank">
  213. <p>
  214. <label>out_biz_no:</label>
  215. <input type="text" name="out_biz_no" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")">
  216. </p>
  217. <p>
  218. <label>payee_type:</label>
  219. <input type="text" name="payee_type" value="ALIPAY_LOGONID">
  220. </p>
  221. <p>
  222. <label>payee_account:</label>
  223. <input type="text" name="payee_account">
  224. </p>
  225. <p>
  226. <label>amount:</label>
  227. <input type="text" name="amount">
  228. </p>
  229. <p>
  230. <label>remark:</label>
  231. <input type="text" name="remark">
  232. </p>
  233. <p>
  234. <label>&nbsp;</label>
  235. <input type="submit" class="button" value="提交">
  236. </p>
  237. </form>
  238. <p class="faq">
  239. <a href="https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transfer" target="_blank">* 查看接口 请求参数、响应参数</a>
  240. </p>
  241. </div>
  242. <div id="tabs-purchase-8">
  243. <form class="api-form" asp-controller="Alipay" asp-action="TransQuery" method="post" target="_blank">
  244. <p>
  245. <label>out_biz_no:</label>
  246. <input type="text" name="out_biz_no">
  247. </p>
  248. <p>
  249. <label>order_id:</label>
  250. <input type="text" name="order_id">
  251. </p>
  252. <p>
  253. <label>&nbsp;</label>
  254. <input type="submit" class="button" value="提交">
  255. </p>
  256. </form>
  257. <hr />
  258. <p class="faq">
  259. <a href="https://docs.open.alipay.com/api_28/alipay.fund.trans.order.query" target="_blank">* 查看接口 请求参数、响应参数</a>
  260. </p>
  261. </div>
  262. <div id="tabs-purchase-9">
  263. <form class="api-form" asp-controller="Alipay" asp-action="Close" method="post" target="_blank">
  264. <p>
  265. <label>bill_date:</label>
  266. <input type="text" name="bill_date">
  267. </p>
  268. <p>
  269. <label>bill_type:</label>
  270. <input type="text" name="bill_type">
  271. </p>
  272. <p>
  273. <label>&nbsp;</label>
  274. <input type="submit" class="button" value="提交">
  275. </p>
  276. </form>
  277. <hr />
  278. <p class="faq">
  279. <a href="https://docs.open.alipay.com/api_15/alipay.data.dataservice.bill.downloadurl.query" target="_blank">* 查看接口 请求参数、响应参数</a>
  280. </p>
  281. </div>
  282. </div>
  283. </div>
  284. <div id="tabs-api-wechatpay">
  285. <div id="tabs-purchase-wechatpay">
  286. <ul>
  287. <li><a href="#tabs-purchase-1">扫码支付</a></li>
  288. <li><a href="#tabs-purchase-2">公众号支付</a></li>
  289. <li><a href="#tabs-purchase-3">查询订单</a></li>
  290. <li><a href="#tabs-purchase-4">关闭订单</a></li>
  291. <li><a href="#tabs-purchase-5">申请退款</a></li>
  292. <li><a href="#tabs-purchase-6">查询退款</a></li>
  293. <li><a href="#tabs-purchase-7">下载对账单</a></li>
  294. <li><a href="#tabs-purchase-8">企业付款到零钱</a></li>
  295. <li><a href="#tabs-purchase-9">查询付款</a></li>
  296. <li><a href="#tabs-purchase-10">获取RSA加密公钥</a></li>
  297. <li><a href="#tabs-purchase-11">企业付款到银行卡</a></li>
  298. <li><a href="#tabs-purchase-12">查询企业付款银行卡</a></li>
  299. </ul>
  300. <div id="tabs-purchase-1">
  301. <form class="api-form" asp-controller="WeChatPay" asp-action="UnifiedOrder" method="post" target="_blank">
  302. <p>
  303. <label>out_trade_no:</label>
  304. <input type="text" name="out_trade_no" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")">
  305. </p>
  306. <p>
  307. <label>body:</label>
  308. <input type="text" name="body" value="微信扫码支付测试">
  309. </p>
  310. <p>
  311. <label>total_fee:</label>
  312. <input type="text" name="total_fee" value="1" title="单位为分。">
  313. </p>
  314. <p>
  315. <label>spbill_create_ip:</label>
  316. <input type="text" name="spbill_create_ip" value="127.0.0.1">
  317. </p>
  318. <p>
  319. <label>notify_url:</label>
  320. <input type="text" name="notify_url" value="http://www.baidu.com/notify/wechatpay">
  321. </p>
  322. <p>
  323. <label>trade_type:</label>
  324. <input type="text" name="trade_type" value="NATIVE">
  325. </p>
  326. <p>
  327. <label>&nbsp;</label>
  328. <input type="submit" class="button" value="提交">
  329. </p>
  330. </form>
  331. <p class="faq">
  332. <a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1" target="_blank">* 查看接口 请求参数、响应参数</a>
  333. </p>
  334. </div>
  335. <div id="tabs-purchase-2">
  336. <form class="api-form" asp-controller="WeChatPay" asp-action="UnifiedOrder" method="post" target="_blank">
  337. <p>
  338. <label>out_trade_no:</label>
  339. <input type="text" name="out_trade_no" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")">
  340. </p>
  341. <p>
  342. <label>body:</label>
  343. <input type="text" name="body" value="微信公众号支付支付测试">
  344. </p>
  345. <p>
  346. <label>total_fee:</label>
  347. <input type="text" name="total_fee" value="1" title="单位为分。">
  348. </p>
  349. <p>
  350. <label>spbill_create_ip:</label>
  351. <input type="text" name="spbill_create_ip" value="127.0.0.1">
  352. </p>
  353. <p>
  354. <label>notify_url:</label>
  355. <input type="text" name="notify_url" value="http://www.baidu.com/notify/wechatpay">
  356. </p>
  357. <p>
  358. <label>trade_type:</label>
  359. <input type="text" name="trade_type" value="JSAPI">
  360. </p>
  361. <p>
  362. <label>openid:</label>
  363. <input type="text" name="openid" value="">
  364. </p>
  365. <p>
  366. <label>&nbsp;</label>
  367. <input type="submit" class="button" value="提交">
  368. </p>
  369. </form>
  370. <p class="faq">
  371. <a href="https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1" target="_blank">* 查看接口 请求参数、响应参数</a>
  372. </p>
  373. </div>
  374. <div id="tabs-purchase-3">
  375. <form class="api-form" asp-controller="WeChatPay" asp-action="OrderQuery" method="post" target="_blank">
  376. <p>
  377. <label>transaction_id:</label>
  378. <input type="text" name="transaction_id">
  379. </p>
  380. <p>
  381. <label>out_trade_no:</label>
  382. <input type="text" name="out_trade_no">
  383. </p>
  384. <p>
  385. <label>&nbsp;</label>
  386. <input type="submit" class="button" value="提交">
  387. </p>
  388. </form>
  389. <p class="faq">
  390. <a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_2" target="_blank">* 查看接口 请求参数、响应参数</a>
  391. </p>
  392. </div>
  393. <div id="tabs-purchase-4">
  394. <form class="api-form" asp-controller="WeChatPay" asp-action="CloseOrder" method="post" target="_blank">
  395. <p>
  396. <label>out_trade_no:</label>
  397. <input type="text" name="out_trade_no">
  398. </p>
  399. <p>
  400. <label>&nbsp;</label>
  401. <input type="submit" class="button" value="提交">
  402. </p>
  403. </form>
  404. <p class="faq">
  405. <a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_3" target="_blank">* 查看接口 请求参数、响应参数</a>
  406. </p>
  407. </div>
  408. <div id="tabs-purchase-5">
  409. <form class="api-form" asp-controller="WeChatPay" asp-action="Refund" method="post" target="_blank">
  410. <p>
  411. <label>out_refund_no:</label>
  412. <input type="text" name="out_refund_no" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")">
  413. </p>
  414. <p>
  415. <label>transaction_id:</label>
  416. <input type="text" name="transaction_id">
  417. </p>
  418. <p>
  419. <label>out_trade_no:</label>
  420. <input type="text" name="out_trade_no">
  421. </p>
  422. <p>
  423. <label>total_fee:</label>
  424. <input type="text" name="total_fee" value="1" title="单位为分。">
  425. </p>
  426. <p>
  427. <label>refund_fee:</label>
  428. <input type="text" name="refund_fee" value="1" title="单位为分。">
  429. </p>
  430. <p>
  431. <label>refund_desc:</label>
  432. <input type="text" name="refund_desc">
  433. </p>
  434. <p>
  435. <label>&nbsp;</label>
  436. <input type="submit" class="button" value="提交">
  437. </p>
  438. </form>
  439. <p class="faq">
  440. <a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_4" target="_blank">* 查看接口 请求参数、响应参数</a>
  441. </p>
  442. </div>
  443. <div id="tabs-purchase-6">
  444. <form class="api-form" asp-controller="WeChatPay" asp-action="RefundQuery" method="post" target="_blank">
  445. <p>
  446. <label>refund_id:</label>
  447. <input type="text" name="refund_id">
  448. </p>
  449. <p>
  450. <label>out_refund_no:</label>
  451. <input type="text" name="out_refund_no">
  452. </p>
  453. <p>
  454. <label>transaction_id:</label>
  455. <input type="text" name="transaction_id">
  456. </p>
  457. <p>
  458. <label>out_trade_no:</label>
  459. <input type="text" name="out_trade_no">
  460. </p>
  461. <p>
  462. <label>&nbsp;</label>
  463. <input type="submit" class="button" value="提交">
  464. </p>
  465. </form>
  466. <p class="faq">
  467. <a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_5" target="_blank">* 查看接口 请求参数、响应参数</a>
  468. </p>
  469. </div>
  470. <div id="tabs-purchase-7">
  471. <form class="api-form" asp-controller="WeChatPay" asp-action="DownloadBill" method="post" target="_blank">
  472. <p>
  473. <label>bill_date:</label>
  474. <input type="text" name="bill_date">
  475. </p>
  476. <p>
  477. <label>bill_type:</label>
  478. <input type="text" name="bill_type">
  479. </p>
  480. <p>
  481. <label>tar_type:</label>
  482. <input type="text" name="tar_type">
  483. </p>
  484. <p>
  485. <label>&nbsp;</label>
  486. <input type="submit" class="button" value="提交">
  487. </p>
  488. </form>
  489. <p class="faq">
  490. <a href="https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_6" target="_blank">* 查看接口 请求参数、响应参数</a>
  491. </p>
  492. </div>
  493. <div id="tabs-purchase-8">
  494. <form class="api-form" asp-controller="WeChatPay" asp-action="Transfers" method="post" target="_blank">
  495. <p>
  496. <label>partner_trade_no:</label>
  497. <input type="text" name="partner_trade_no" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")">
  498. </p>
  499. <p>
  500. <label>openid:</label>
  501. <input type="text" name="openid">
  502. </p>
  503. <p>
  504. <label>check_name:</label>
  505. <input type="text" name="check_name" value="NO_CHECK">
  506. </p>
  507. <p>
  508. <label>re_user_name:</label>
  509. <input type="text" name="re_user_name">
  510. </p>
  511. <p>
  512. <label>amount:</label>
  513. <input type="text" name="amount" value="100">
  514. </p>
  515. <p>
  516. <label>desc:</label>
  517. <input type="text" name="desc" value="企业付款测试">
  518. </p>
  519. <p>
  520. <label>spbill_create_ip:</label>
  521. <input type="text" name="spbill_create_ip" value="127.0.0.1">
  522. </p>
  523. <p>
  524. <label>&nbsp;</label>
  525. <input type="submit" class="button" value="提交">
  526. </p>
  527. </form>
  528. <p class="faq">
  529. <a href="https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2" target="_blank">* 查看接口 请求参数、响应参数</a>
  530. </p>
  531. </div>
  532. <div id="tabs-purchase-9">
  533. <form class="api-form" asp-controller="WeChatPay" asp-action="GetTransferInfo" method="post" target="_blank">
  534. <p>
  535. <label>partner_trade_no:</label>
  536. <input type="text" name="partner_trade_no">
  537. </p>
  538. <p>
  539. <label>&nbsp;</label>
  540. <input type="submit" class="button" value="提交">
  541. </p>
  542. </form>
  543. <p class="faq">
  544. <a href="https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_3" target="_blank">* 查看接口 请求参数、响应参数</a>
  545. </p>
  546. </div>
  547. <div id="tabs-purchase-10">
  548. <form class="api-form" asp-controller="WeChatPay" asp-action="GetPublicKey" method="post" target="_blank">
  549. <p>
  550. <label>&nbsp;</label>
  551. <input type="submit" class="button" value="提交">
  552. </p>
  553. </form>
  554. <p class="faq">
  555. <a href="https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_7&index=4" target="_blank">* 查看接口 请求参数、响应参数</a>
  556. </p>
  557. </div>
  558. <div id="tabs-purchase-11">
  559. <form class="api-form" asp-controller="WeChatPay" asp-action="PayBank" method="post" target="_blank">
  560. <p>
  561. <label>partner_trade_no:</label>
  562. <input type="text" name="partner_trade_no" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")">
  563. </p>
  564. <p>
  565. <label>bank_no:</label>
  566. <input type="text" name="bank_no">
  567. </p>
  568. <p>
  569. <label>true_name:</label>
  570. <input type="text" name="true_name">
  571. </p>
  572. <p>
  573. <label>bank_code:</label>
  574. <input type="text" name="bank_code">
  575. </p>
  576. <p>
  577. <label>amount:</label>
  578. <input type="text" name="amount" value="100">
  579. </p>
  580. <p>
  581. <label>desc:</label>
  582. <input type="text" name="desc" value="企业付款到银行卡测试">
  583. </p>
  584. <p>
  585. <label>&nbsp;</label>
  586. <input type="submit" class="button" value="提交">
  587. </p>
  588. </form>
  589. <p class="faq">
  590. <a href="https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_2" target="_blank">* 查看接口 请求参数、响应参数</a>
  591. </p>
  592. </div>
  593. <div id="tabs-purchase-12">
  594. <form class="api-form" asp-controller="WeChatPay" asp-action="QueryBank" method="post" target="_blank">
  595. <p>
  596. <label>partner_trade_no:</label>
  597. <input type="text" name="partner_trade_no">
  598. </p>
  599. <p>
  600. <label>&nbsp;</label>
  601. <input type="submit" class="button" value="提交">
  602. </p>
  603. </form>
  604. <p class="faq">
  605. <a href="https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_3" target="_blank">* 查看接口 请求参数、响应参数</a>
  606. </p>
  607. </div>
  608. </div>
  609. </div>
  610. <div id="tabs-api-qpay">
  611. <div id="tabs-purchase-qpay">
  612. <ul>
  613. <li><a href="#tabs-purchase-1">扫码支付</a></li>
  614. <li><a href="#tabs-purchase-2">查询订单</a></li>
  615. <li><a href="#tabs-purchase-3">关闭订单</a></li>
  616. <li><a href="#tabs-purchase-4">申请退款</a></li>
  617. <li><a href="#tabs-purchase-5">查询退款</a></li>
  618. </ul>
  619. <div id="tabs-purchase-1">
  620. <form class="api-form" asp-controller="QPay" asp-action="UnifiedOrder" method="post" target="_blank">
  621. <p>
  622. <label>out_trade_no:</label>
  623. <input type="text" name="out_trade_no" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")">
  624. </p>
  625. <p>
  626. <label>body:</label>
  627. <input type="text" name="body" value="QQ钱包扫码支付测试">
  628. </p>
  629. <p>
  630. <label>total_fee:</label>
  631. <input type="text" name="total_fee" value="1" title="单位为分。">
  632. </p>
  633. <p>
  634. <label>spbill_create_ip:</label>
  635. <input type="text" name="spbill_create_ip" value="127.0.0.1">
  636. </p>
  637. <p>
  638. <label>notify_url:</label>
  639. <input type="text" name="notify_url" value="http://www.baidu.com/notify/qpay">
  640. </p>
  641. <p>
  642. <label>trade_type:</label>
  643. <input type="text" name="trade_type" value="NATIVE">
  644. </p>
  645. <p>
  646. <label>&nbsp;</label>
  647. <input type="submit" class="button" value="提交">
  648. </p>
  649. </form>
  650. <p class="faq">
  651. <a href="https://qpay.qq.com/qpaywiki/showdocument.php?pid=38&docid=58" target="_blank">* 查看接口 请求参数、响应参数</a>
  652. </p>
  653. </div>
  654. <div id="tabs-purchase-2">
  655. <form class="api-form" asp-controller="QPay" asp-action="OrderQuery" method="post" target="_blank">
  656. <p>
  657. <label>transaction_id:</label>
  658. <input type="text" name="transaction_id">
  659. </p>
  660. <p>
  661. <label>out_trade_no:</label>
  662. <input type="text" name="out_trade_no">
  663. </p>
  664. <p>
  665. <label>&nbsp;</label>
  666. <input type="submit" class="button" value="提交">
  667. </p>
  668. </form>
  669. <p class="faq">
  670. <a href="https://qpay.qq.com/qpaywiki/showdocument.php?pid=38&docid=60" target="_blank">* 查看接口 请求参数、响应参数</a>
  671. </p>
  672. </div>
  673. <div id="tabs-purchase-3">
  674. <form class="api-form" asp-controller="QPay" asp-action="CloseOrder" method="post" target="_blank">
  675. <p>
  676. <label>out_trade_no:</label>
  677. <input type="text" name="out_trade_no">
  678. </p>
  679. <p>
  680. <label>&nbsp;</label>
  681. <input type="submit" class="button" value="提交">
  682. </p>
  683. </form>
  684. <p class="faq">
  685. <a href="https://qpay.qq.com/qpaywiki/showdocument.php?pid=38&docid=61" target="_blank">* 查看接口 请求参数、响应参数</a>
  686. </p>
  687. </div>
  688. <div id="tabs-purchase-4">
  689. <form class="api-form" asp-controller="QPay" asp-action="Refund" method="post" target="_blank">
  690. <p>
  691. <label>out_refund_no:</label>
  692. <input type="text" name="out_refund_no" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")">
  693. </p>
  694. <p>
  695. <label>QQtransaction_id:</label>
  696. <input type="text" name="transaction_id">
  697. </p>
  698. <p>
  699. <label>out_trade_no:</label>
  700. <input type="text" name="out_trade_no">
  701. </p>
  702. <p>
  703. <label>refund_fee:</label>
  704. <input type="text" name="refund_fee" value="1" title="单位为分。">
  705. </p>
  706. <p>
  707. <label>op_user_idID:</label>
  708. <input type="text" name="op_user_id">
  709. </p>
  710. <p>
  711. <label>op_user_passwd:</label>
  712. <input type="text" name="op_user_passwd">
  713. </p>
  714. <p>
  715. <label>&nbsp;</label>
  716. <input type="submit" class="button" value="提交">
  717. </p>
  718. </form>
  719. <p class="faq">
  720. <a href="https://qpay.qq.com/qpaywiki/showdocument.php?pid=38&docid=62" target="_blank">* 查看接口 请求参数、响应参数</a>
  721. </p>
  722. </div>
  723. <div id="tabs-purchase-5">
  724. <form class="api-form" asp-controller="QPay" asp-action="RefundQuery" method="post" target="_blank">
  725. <p>
  726. <label>refund_id:</label>
  727. <input type="text" name="refund_id">
  728. </p>
  729. <p>
  730. <label>out_refund_no:</label>
  731. <input type="text" name="out_refund_no">
  732. </p>
  733. <p>
  734. <label>transaction_id:</label>
  735. <input type="text" name="transaction_id">
  736. </p>
  737. <p>
  738. <label>out_trade_no:</label>
  739. <input type="text" name="out_trade_no">
  740. </p>
  741. <p>
  742. <label>&nbsp;</label>
  743. <input type="submit" class="button" value="提交">
  744. </p>
  745. </form>
  746. <p class="faq">
  747. <a href="https://qpay.qq.com/qpaywiki/showdocument.php?pid=38&docid=63" target="_blank">* 查看接口 请求参数、响应参数</a>
  748. </p>
  749. </div>
  750. </div>
  751. </div>
  752. <div id="tabs-api-jdpay">
  753. <div id="tabs-purchase-jdpay">
  754. <ul>
  755. <li><a href="#tabs-purchase-1">扫码支付</a></li>
  756. <li><a href="#tabs-purchase-2">交易查询</a></li>
  757. <li><a href="#tabs-purchase-3">退款申请</a></li>
  758. <li><a href="#tabs-purchase-4">退款查询</a></li>
  759. </ul>
  760. <div id="tabs-purchase-1">
  761. <form class="api-form" asp-controller="JdPay" asp-action="Uniorder" method="post" target="_blank">
  762. <p>
  763. <label>tradeNum:</label>
  764. <input type="text" name="tradeNum" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")">
  765. </p>
  766. <p>
  767. <label>tradeName:</label>
  768. <input type="text" name="tradeName" value="京东扫码支付测试">
  769. </p>
  770. <p>
  771. <label>tradeDesc:</label>
  772. <input type="text" name="tradeDesc" value="交易描述">
  773. </p>
  774. <p>
  775. <label>tradeTime:</label>
  776. <input type="text" name="tradeTime" value="@DateTime.Now.ToString("yyyyMMddHHmmss")">
  777. </p>
  778. <p>
  779. <label>amount:</label>
  780. <input type="text" name="amount" value="1">
  781. </p>
  782. <p>
  783. <label>orderType:</label>
  784. <input type="text" name="orderType" value="1">
  785. </p>
  786. <p>
  787. <label>currency:</label>
  788. <input type="text" name="currency" value="CNY">
  789. </p>
  790. <p>
  791. <label>note:</label>
  792. <input type="text" name="note" value="备注">
  793. </p>
  794. <p>
  795. <label>notifyUrl:</label>
  796. <input type="text" name="notifyUrl" value="http://www.baidu.com/notify/jdpay">
  797. </p>
  798. <p>
  799. <label>tradeType:</label>
  800. <input type="text" name="tradeType" value="QR">
  801. </p>
  802. <p>
  803. <label>&nbsp;</label>
  804. <input type="submit" class="button" value="提交">
  805. </p>
  806. </form>
  807. <p class="faq">
  808. <a href="http://payapi.jd.com/docList.html" target="_blank">* 查看接口 请求参数、响应参数</a>
  809. </p>
  810. </div>
  811. <div id="tabs-purchase-2">
  812. <form class="api-form" asp-controller="JdPay" asp-action="OrderQuery" method="post" target="_blank">
  813. <p>
  814. <label>tradeNum:</label>
  815. <input type="text" name="tradeNum">
  816. </p>
  817. <p>
  818. <label>oTradeNum:</label>
  819. <input type="text" name="oTradeNum">
  820. </p>
  821. <p>
  822. <label>&nbsp;</label>
  823. <input type="submit" class="button" value="提交">
  824. </p>
  825. </form>
  826. <p class="faq">
  827. <a href="http://payapi.jd.com/docList.html" target="_blank">* 查看接口 请求参数、响应参数</a>
  828. </p>
  829. </div>
  830. <div id="tabs-purchase-3">
  831. <form class="api-form" asp-controller="JdPay" asp-action="Refund" method="post" target="_blank">
  832. <p>
  833. <label>tradeNum:</label>
  834. <input type="text" name="tradeNum" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")">
  835. </p>
  836. <p>
  837. <label>oTradeNum:</label>
  838. <input type="text" name="oTradeNum">
  839. </p>
  840. <p>
  841. <label>amount:</label>
  842. <input type="text" name="amount" value="1">
  843. </p>
  844. <p>
  845. <label>currency:</label>
  846. <input type="text" name="currency" value="CNY">
  847. </p>
  848. <p>
  849. <label>&nbsp;</label>
  850. <input type="submit" class="button" value="提交">
  851. </p>
  852. </form>
  853. <p class="faq">
  854. <a href="http://payapi.jd.com/docList.html" target="_blank">* 查看接口 请求参数、响应参数</a>
  855. </p>
  856. </div>
  857. <div id="tabs-purchase-4">
  858. <form class="api-form" asp-controller="JdPay" asp-action="RefundQuery" method="post" target="_blank">
  859. <p>
  860. <label>tradeNum:</label>
  861. <input type="text" name="tradeNum">
  862. </p>
  863. <p>
  864. <label>oTradeNum:</label>
  865. <input type="text" name="oTradeNum">
  866. </p>
  867. <p>
  868. <label>&nbsp;</label>
  869. <input type="submit" class="button" value="提交">
  870. </p>
  871. </form>
  872. <p class="faq">
  873. <a href="http://payapi.jd.com/docList.html" target="_blank">* 查看接口 请求参数、响应参数</a>
  874. </p>
  875. </div>
  876. </div>
  877. </div>
  878. </div>
  879. </div>
  880. @section Scripts {
  881. <script src="~/demo.js" asp-append-version="true"></script>
  882. }
  883. @section Styles {
  884. <link rel="stylesheet" href="~/demo.css" asp-append-version="true">
  885. }