WxMchPay.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. <?php
  2. /**
  3. * 微信企业付款API
  4. * @apiDefine WechatMchPay
  5. * @category app\wx\logic
  6. * @author zw <773766958@qq.com>
  7. */
  8. namespace addons\qingdongams\library\wx;
  9. class WxMchPay extends WxPayDataBase
  10. {
  11. /**
  12. * 微信企业转账
  13. * @author zw
  14. * @create_time 2019/04/09
  15. */
  16. public function transfers()
  17. {
  18. $url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";
  19. $data = [
  20. 'mch_appid' => '',
  21. 'mchid' => '',
  22. 'nonce_str' => '',//随机字符串
  23. 'partner_trade_no' => '',//商户订单号
  24. 'openid' => '',//用户openid
  25. 'check_name' => 'NO_CHECK',//校验用户姓名选项 NO_CHECK:不校验真实姓名
  26. 'amount' => '',//企业付款金额,单位为分
  27. 'desc' => '',//企业付款备注
  28. 'spbill_create_ip' => '',//该IP同在商户平台设置的IP白名单中的IP没有关联,该IP可传用户端或者服务端的IP。
  29. ];
  30. }
  31. /**
  32. * 设置申请商户号的appid或商户号绑定的appid
  33. * @param string $value
  34. **/
  35. public function SetMchAppid($value)
  36. {
  37. $this->values['mch_appid'] = $value;
  38. }
  39. /**
  40. * 获取申请商户号的appid或商户号绑定的appid
  41. * @return 值
  42. **/
  43. public function GetMchAppid()
  44. {
  45. return $this->values['mch_appid'];
  46. }
  47. /**
  48. * 判断申请商户号的appid或商户号绑定的appid是否存在
  49. * @return true 或 false
  50. **/
  51. public function IsAppidSet()
  52. {
  53. return array_key_exists('mch_appid', $this->values);
  54. }
  55. /**
  56. * 设置 微信支付分配的商户号
  57. * @param string $value
  58. **/
  59. public function SetMchid($value)
  60. {
  61. $this->values['mchid'] = $value;
  62. }
  63. /**
  64. * 获取 微信支付分配的商户号
  65. * @return 值
  66. **/
  67. public function GetMchid()
  68. {
  69. return $this->values['mchid'];
  70. }
  71. /**
  72. * 判断 微信支付分配的商户号是否存在
  73. * @return true 或 false
  74. **/
  75. public function IsMchidSet()
  76. {
  77. return array_key_exists('mchid', $this->values);
  78. }
  79. /**
  80. * 随机字符串
  81. * @param string $value
  82. **/
  83. public function SetNonceStr($value)
  84. {
  85. $this->values['nonce_str'] = $value;
  86. }
  87. /**
  88. * 判断随机字符串是否存在
  89. * @return true 或 false
  90. **/
  91. public function IsNonceStrSet()
  92. {
  93. return array_key_exists('nonce_str', $this->values);
  94. }
  95. /**
  96. * 设置商户订单号
  97. * @param string $value
  98. **/
  99. public function SetPartnerTradeNo($value)
  100. {
  101. $this->values['partner_trade_no'] = $value;
  102. }
  103. /**
  104. * 判断商户订单号是否存在
  105. * @return true 或 false
  106. **/
  107. public function IsPartnerTradeNoSet()
  108. {
  109. return array_key_exists('partner_trade_no', $this->values);
  110. }
  111. /**
  112. * 设置用户openid
  113. * @param string $value
  114. **/
  115. public function SetOpenid($value)
  116. {
  117. $this->values['openid'] = $value;
  118. }
  119. /**
  120. * 判断用户openid是否存在
  121. * @return true 或 false
  122. **/
  123. public function IsOpenidSet()
  124. {
  125. return array_key_exists('openid', $this->values);
  126. }
  127. /**
  128. * 设置金额
  129. * @param string $value
  130. **/
  131. public function SetAmount($value)
  132. {
  133. $this->values['amount'] = $value;
  134. }
  135. /**
  136. * 判断金额是否存在
  137. * @return true 或 false
  138. **/
  139. public function IsAmountSet()
  140. {
  141. return array_key_exists('amount', $this->values);
  142. }
  143. /**
  144. * 设置商户备注
  145. * @param string $value
  146. **/
  147. public function SetDesc($value)
  148. {
  149. $this->values['desc'] = $value;
  150. }
  151. /**
  152. * 判断商户备注是否存在
  153. * @return true 或 false
  154. **/
  155. public function IsDescSet()
  156. {
  157. return array_key_exists('desc', $this->values);
  158. }
  159. /**
  160. * 设置Ip地址
  161. **/
  162. public function SetSpbillCreateIp($value)
  163. {
  164. $this->values['spbill_create_ip'] = $value;
  165. }
  166. /**
  167. * 判断Ip地址是否存在
  168. * @return true 或 false
  169. **/
  170. public function IsSpbillCreateIpSet()
  171. {
  172. return array_key_exists('spbill_create_ip', $this->values);
  173. }
  174. /**
  175. * 设置收款用户姓名
  176. */
  177. public function SetReUserName($value)
  178. {
  179. $this->values['re_user_name'] = $value;
  180. }
  181. /**
  182. * 设置设备号
  183. */
  184. public function SetDeviceInfo($value)
  185. {
  186. $this->values['device_info'] = $value;
  187. }
  188. /**
  189. * 校验用户姓名选项NO_CHECK:不校验真实姓名 FORCE_CHECK:强校验真实姓名
  190. */
  191. public function SetCheckName($value)
  192. {
  193. $this->values['check_name'] = $value;
  194. }
  195. /**
  196. * 设置签名,详见签名生成算法
  197. * @param string $value
  198. **/
  199. public function SetSign($config)
  200. {
  201. $sign = $this->MakeSign($config,false);
  202. $this->values['sign'] = $sign;
  203. return $sign;
  204. }
  205. }