Payment.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?php
  2. namespace AdaPaySdk;
  3. use AdaPay\AdaPay;
  4. use AdaPaySdk\Utils\SDKTools;
  5. use think\facade\Db;
  6. class Payment extends AdaPay{
  7. static private $instance;
  8. public $endpoint = "/v1/payments";
  9. public function __construct()
  10. {
  11. parent::__construct();
  12. $this->sdk_tools = SDKTools::getInstance();
  13. }
  14. //=============支付对象
  15. /**
  16. * 创建支付对象
  17. * @Author Kelly
  18. * @DateTime 2020-10-22
  19. * @version V1.1.4
  20. * @param array
  21. * @return array
  22. */
  23. public function create($params,$key)
  24. {
  25. $params['currency'] = 'cny';
  26. $params['sign_type'] = 'RSA2';
  27. $request_params = $params;
  28. if ($key == 'api_live_b0a687ec-5450-4ada-a0e4-65bac0f46871'){
  29. $this->setRsaPrivateKey('MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANG5b9X+SnEirAtdj1fN/wTzmA5Rm7V8QTIIxIEmADTQ+28slzcCYWpG3FMmIfjwX7Ho0mdUDvDVQ++U92PJRSaMrKYbdf6mz6DWLKveEfjkvrjQqk4l+bLu3H75nS10A8nkBSqYO0tPiHmZSkBb/cHcDar6z2rLuT8IYmZYQtGZAgMBAAECgYEAiiQ7Jhl5r0vHRzU5Vfy6HejWH5hhmAlgaDSeOvNs7104QOJ+OB25TOef+KUFe5PZdLaG4MjdjoTrWsQkr/XDNY+FjrCTPY9LUKQVztS+K6uyhOO5xELX2m6tYvvkRzomJmpxKKlJImralVsn0tgGldH7oGQbpjCa1YH2BwFPygECQQD0VTz54ABvbg6vLQ1CRMwYzInR/QhA/nvS9DLDdpZmkP04WyJ3iUOAot1IQ51NVCz55rHSDZS5nGcqoIWbm3llAkEA270jWrH+xUbQTj4hrV98QHnFWcZGe98lO1zm0bggE3EWlSGp2EmWZZedIu2xq6QvlxbscjjC1M+SDMB/Dn/OJQJAJveBJgjHiP3wcZepyavXMQ1N3aORMWxkqxwvDGVZTzpIaDiAorfNgDJ5QBEogTCvi5tzOKDZ21BKU84OAOcm0QJBANORXATq9B4FfHKZJ9vB3+REWluBqEOEKljpreOmoFuXuuKDswBoecH/JHCI41QblSaoD6g6NnyoDjrw7GSNcXECQEI3aNwxYpvcbVn8l8goyIKckfj5giXkzhGxBN9UI24wmx4CBQmdSsiShbNjVAFs1T7u4ZNEZ1TNnxxlV/+LciU=');
  30. }else{
  31. $this->setRsaPrivateKey("MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALFOkwRKx2HKMpAL7LUb755cIS7mleort++Rkl25tJMJCf9Ezeyg4xwLBN6RQsLERTAzRKc/EUtxm4/9rzDzvNZ4BegEI8mXWBUrgpn7e1ar8Ek8IRPdXLrozuld9cv56R3yB/Yta0R+kmgCfn2C5V+xtM6njimkOStvdK5cNwqFAgMBAAECgYA5pn+87IeJr1Hjbk0n0g6GYhRUCJuECXUEC0QY/3HMQSsj+f4uy10s2BRcPcUESQbqFjFjY+k+q5DWL7kP5KBoXGnFyflAyRhWGTkSC3VhGixh6ro3EcUJSrFDjGaThGaPrc8Zfcp5JhL5Thi0GaBXSnRH1Cmn4h8gkAEJxIM7PQJBAOq2+oVPtqkj99YRs0eewkZAM7bKRzSwI7OFU6YWsCYVkqNE7Lr3KKGekehuWwkOvrCBR+NEGQfAb557g2CHmzMCQQDBYtgQ5wvl9fD8BWAVKuPoxoleH+9wUQ65Rnt/Ebkx+g8kP37JRun81duLDULTKr/3ak42goE00TfnfeXl0gNnAkA0wuUVypF4/AjeKiRu2RU6zXvSfy36fg3IcRQYpcj7BqZr5TaB4MVVb1vFL+lu482hx63tPIWT5IIy0fj6XgFZAkBinlKLRBgIPISZMPCPuuCg22ZADs8fGucEStI9ub8Uom3IUW0JndVDb5fW8HtMjrd4p8ic+a6ETdFRhx2PNqsvAkAzDvlve56sZnLYx9t/MPkJTK3ZhgVETS0H2FUyJGVOSfjv68bNsUshyPfzJrdbCeLzjMLq8TpyOmiIUAeQ5YCX");
  32. }
  33. $this->__init_params();
  34. $this->setApiKey($key);
  35. $request_params = $this->do_empty_data($request_params);
  36. $req_url = self::$gateWayUrl . $this->endpoint;
  37. Db::name('log')->insert(['data'=>'我的api_key是:'.self::$api_key]);
  38. $header = $this->get_request_header($req_url, $request_params, self::$header);
  39. // dd(AdaPay::$rsaPrivateKey);
  40. return $this->result = $this->ada_request->curl_request($req_url, $request_params, $header, $is_json=true);
  41. // $this->result = $this->sdk_tools->post($params, $this->endpoint);
  42. }
  43. public function create_b($params,$key)
  44. {
  45. $params['currency'] = 'cny';
  46. $params['sign_type'] = 'RSA2';
  47. $request_params = $params;
  48. $this->setRsaPrivateKey('MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANG5b9X+SnEirAtdj1fN/wTzmA5Rm7V8QTIIxIEmADTQ+28slzcCYWpG3FMmIfjwX7Ho0mdUDvDVQ++U92PJRSaMrKYbdf6mz6DWLKveEfjkvrjQqk4l+bLu3H75nS10A8nkBSqYO0tPiHmZSkBb/cHcDar6z2rLuT8IYmZYQtGZAgMBAAECgYEAiiQ7Jhl5r0vHRzU5Vfy6HejWH5hhmAlgaDSeOvNs7104QOJ+OB25TOef+KUFe5PZdLaG4MjdjoTrWsQkr/XDNY+FjrCTPY9LUKQVztS+K6uyhOO5xELX2m6tYvvkRzomJmpxKKlJImralVsn0tgGldH7oGQbpjCa1YH2BwFPygECQQD0VTz54ABvbg6vLQ1CRMwYzInR/QhA/nvS9DLDdpZmkP04WyJ3iUOAot1IQ51NVCz55rHSDZS5nGcqoIWbm3llAkEA270jWrH+xUbQTj4hrV98QHnFWcZGe98lO1zm0bggE3EWlSGp2EmWZZedIu2xq6QvlxbscjjC1M+SDMB/Dn/OJQJAJveBJgjHiP3wcZepyavXMQ1N3aORMWxkqxwvDGVZTzpIaDiAorfNgDJ5QBEogTCvi5tzOKDZ21BKU84OAOcm0QJBANORXATq9B4FfHKZJ9vB3+REWluBqEOEKljpreOmoFuXuuKDswBoecH/JHCI41QblSaoD6g6NnyoDjrw7GSNcXECQEI3aNwxYpvcbVn8l8goyIKckfj5giXkzhGxBN9UI24wmx4CBQmdSsiShbNjVAFs1T7u4ZNEZ1TNnxxlV/+LciU=');
  49. $this->__init_params();
  50. $this->setApiKey($key);
  51. $request_params = $this->do_empty_data($request_params);
  52. $req_url = self::$gateWayUrl . $this->endpoint;
  53. Db::name('log')->insert(['data'=>'我的api_key是:'.self::$api_key]);
  54. $header = $this->get_request_header($req_url, $request_params, self::$header);
  55. // dd(AdaPay::$rsaPrivateKey);
  56. return $this->result = $this->ada_request->curl_request($req_url, $request_params, $header, $is_json=true);
  57. // $this->result = $this->sdk_tools->post($params, $this->endpoint);
  58. }
  59. /**
  60. * 查询支付对象列表
  61. * @Author Kelly
  62. * @DateTime 2020-10-22
  63. * @version V1.1.4
  64. * @param array
  65. * @return array
  66. */
  67. public function queryList($params=array()){
  68. ksort($params);
  69. $request_params = $this->do_empty_data($params);
  70. $req_url = self::$gateWayUrl . $this->endpoint. "/list" ;
  71. $this->setRsaPrivateKey('MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALFOkwRKx2HKMpAL7LUb755cIS7mleort++Rkl25tJMJCf9Ezeyg4xwLBN6RQsLERTAzRKc/EUtxm4/9rzDzvNZ4BegEI8mXWBUrgpn7e1ar8Ek8IRPdXLrozuld9cv56R3yB/Yta0R+kmgCfn2C5V+xtM6njimkOStvdK5cNwqFAgMBAAECgYA5pn+87IeJr1Hjbk0n0g6GYhRUCJuECXUEC0QY/3HMQSsj+f4uy10s2BRcPcUESQbqFjFjY+k+q5DWL7kP5KBoXGnFyflAyRhWGTkSC3VhGixh6ro3EcUJSrFDjGaThGaPrc8Zfcp5JhL5Thi0GaBXSnRH1Cmn4h8gkAEJxIM7PQJBAOq2+oVPtqkj99YRs0eewkZAM7bKRzSwI7OFU6YWsCYVkqNE7Lr3KKGekehuWwkOvrCBR+NEGQfAb557g2CHmzMCQQDBYtgQ5wvl9fD8BWAVKuPoxoleH+9wUQ65Rnt/Ebkx+g8kP37JRun81duLDULTKr/3ak42goE00TfnfeXl0gNnAkA0wuUVypF4/AjeKiRu2RU6zXvSfy36fg3IcRQYpcj7BqZr5TaB4MVVb1vFL+lu482hx63tPIWT5IIy0fj6XgFZAkBinlKLRBgIPISZMPCPuuCg22ZADs8fGucEStI9ub8Uom3IUW0JndVDb5fW8HtMjrd4p8ic+a6ETdFRhx2PNqsvAkAzDvlve56sZnLYx9t/MPkJTK3ZhgVETS0H2FUyJGVOSfjv68bNsUshyPfzJrdbCeLzjMLq8TpyOmiIUAeQ5YCX');
  72. $this->__init_params();
  73. $header = $this->get_request_header($req_url, http_build_query($request_params), self::$headerText);
  74. $this->result = $this->ada_request->curl_request($req_url . "?" . http_build_query($request_params), "", $header, false);
  75. // $this->result = $this->sdk_tools->get($params, $this->endpoint. "/list");
  76. }
  77. /**
  78. * 查询支付对象
  79. * @Author Kelly
  80. * @DateTime 2020-10-22
  81. * @version V1.1.4
  82. * @param array
  83. * @return [type]
  84. */
  85. public function query($params=array()){
  86. ksort($params);
  87. $id = isset($params['payment_id']) ? $params['payment_id'] : '';
  88. $request_params = $params;
  89. $req_url = self::$gateWayUrl . $this->endpoint ."/".$id;
  90. if ($params['api_key'] == 'api_live_b0a687ec-5450-4ada-a0e4-65bac0f46871'){
  91. $this->setRsaPrivateKey('MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANG5b9X+SnEirAtdj1fN/wTzmA5Rm7V8QTIIxIEmADTQ+28slzcCYWpG3FMmIfjwX7Ho0mdUDvDVQ++U92PJRSaMrKYbdf6mz6DWLKveEfjkvrjQqk4l+bLu3H75nS10A8nkBSqYO0tPiHmZSkBb/cHcDar6z2rLuT8IYmZYQtGZAgMBAAECgYEAiiQ7Jhl5r0vHRzU5Vfy6HejWH5hhmAlgaDSeOvNs7104QOJ+OB25TOef+KUFe5PZdLaG4MjdjoTrWsQkr/XDNY+FjrCTPY9LUKQVztS+K6uyhOO5xELX2m6tYvvkRzomJmpxKKlJImralVsn0tgGldH7oGQbpjCa1YH2BwFPygECQQD0VTz54ABvbg6vLQ1CRMwYzInR/QhA/nvS9DLDdpZmkP04WyJ3iUOAot1IQ51NVCz55rHSDZS5nGcqoIWbm3llAkEA270jWrH+xUbQTj4hrV98QHnFWcZGe98lO1zm0bggE3EWlSGp2EmWZZedIu2xq6QvlxbscjjC1M+SDMB/Dn/OJQJAJveBJgjHiP3wcZepyavXMQ1N3aORMWxkqxwvDGVZTzpIaDiAorfNgDJ5QBEogTCvi5tzOKDZ21BKU84OAOcm0QJBANORXATq9B4FfHKZJ9vB3+REWluBqEOEKljpreOmoFuXuuKDswBoecH/JHCI41QblSaoD6g6NnyoDjrw7GSNcXECQEI3aNwxYpvcbVn8l8goyIKckfj5giXkzhGxBN9UI24wmx4CBQmdSsiShbNjVAFs1T7u4ZNEZ1TNnxxlV/+LciU=');
  92. }else{
  93. $this->setRsaPrivateKey("MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALFOkwRKx2HKMpAL7LUb755cIS7mleort++Rkl25tJMJCf9Ezeyg4xwLBN6RQsLERTAzRKc/EUtxm4/9rzDzvNZ4BegEI8mXWBUrgpn7e1ar8Ek8IRPdXLrozuld9cv56R3yB/Yta0R+kmgCfn2C5V+xtM6njimkOStvdK5cNwqFAgMBAAECgYA5pn+87IeJr1Hjbk0n0g6GYhRUCJuECXUEC0QY/3HMQSsj+f4uy10s2BRcPcUESQbqFjFjY+k+q5DWL7kP5KBoXGnFyflAyRhWGTkSC3VhGixh6ro3EcUJSrFDjGaThGaPrc8Zfcp5JhL5Thi0GaBXSnRH1Cmn4h8gkAEJxIM7PQJBAOq2+oVPtqkj99YRs0eewkZAM7bKRzSwI7OFU6YWsCYVkqNE7Lr3KKGekehuWwkOvrCBR+NEGQfAb557g2CHmzMCQQDBYtgQ5wvl9fD8BWAVKuPoxoleH+9wUQ65Rnt/Ebkx+g8kP37JRun81duLDULTKr/3ak42goE00TfnfeXl0gNnAkA0wuUVypF4/AjeKiRu2RU6zXvSfy36fg3IcRQYpcj7BqZr5TaB4MVVb1vFL+lu482hx63tPIWT5IIy0fj6XgFZAkBinlKLRBgIPISZMPCPuuCg22ZADs8fGucEStI9ub8Uom3IUW0JndVDb5fW8HtMjrd4p8ic+a6ETdFRhx2PNqsvAkAzDvlve56sZnLYx9t/MPkJTK3ZhgVETS0H2FUyJGVOSfjv68bNsUshyPfzJrdbCeLzjMLq8TpyOmiIUAeQ5YCX");
  94. }
  95. $this->__init_params();
  96. $this->setApiKey($params['api_key']);
  97. unset($request_params['api_key']);
  98. $header = $this->get_request_header($req_url, http_build_query($request_params), self::$headerText);
  99. $this->result = $this->ada_request->curl_request($req_url . "?" . http_build_query($request_params), "", $header, false);
  100. // $this->result = $this->sdk_tools->get($params, $this->endpoint."/".$id);
  101. }
  102. /**
  103. * 关闭支付对象
  104. * @Author Kelly
  105. * @DateTime 2020-10-22
  106. * @version V1.1.4
  107. * @param array
  108. * @return array
  109. */
  110. public function close($params=array()){
  111. $id = isset($params['payment_id']) ? $params['payment_id'] : '';
  112. $request_params = $params;
  113. $request_params = $this->do_empty_data($request_params);
  114. $req_url = self::$gateWayUrl . $this->endpoint."/". $id. "/close";
  115. $this->setRsaPrivateKey('MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALFOkwRKx2HKMpAL7LUb755cIS7mleort++Rkl25tJMJCf9Ezeyg4xwLBN6RQsLERTAzRKc/EUtxm4/9rzDzvNZ4BegEI8mXWBUrgpn7e1ar8Ek8IRPdXLrozuld9cv56R3yB/Yta0R+kmgCfn2C5V+xtM6njimkOStvdK5cNwqFAgMBAAECgYA5pn+87IeJr1Hjbk0n0g6GYhRUCJuECXUEC0QY/3HMQSsj+f4uy10s2BRcPcUESQbqFjFjY+k+q5DWL7kP5KBoXGnFyflAyRhWGTkSC3VhGixh6ro3EcUJSrFDjGaThGaPrc8Zfcp5JhL5Thi0GaBXSnRH1Cmn4h8gkAEJxIM7PQJBAOq2+oVPtqkj99YRs0eewkZAM7bKRzSwI7OFU6YWsCYVkqNE7Lr3KKGekehuWwkOvrCBR+NEGQfAb557g2CHmzMCQQDBYtgQ5wvl9fD8BWAVKuPoxoleH+9wUQ65Rnt/Ebkx+g8kP37JRun81duLDULTKr/3ak42goE00TfnfeXl0gNnAkA0wuUVypF4/AjeKiRu2RU6zXvSfy36fg3IcRQYpcj7BqZr5TaB4MVVb1vFL+lu482hx63tPIWT5IIy0fj6XgFZAkBinlKLRBgIPISZMPCPuuCg22ZADs8fGucEStI9ub8Uom3IUW0JndVDb5fW8HtMjrd4p8ic+a6ETdFRhx2PNqsvAkAzDvlve56sZnLYx9t/MPkJTK3ZhgVETS0H2FUyJGVOSfjv68bNsUshyPfzJrdbCeLzjMLq8TpyOmiIUAeQ5YCX');
  116. $this->__init_params();
  117. $this->setApiKey($params['api_key']);
  118. unset($request_params['api_key']);
  119. $header = $this->get_request_header($req_url, $request_params, self::$header);
  120. $this->result = $this->ada_request->curl_request($req_url, $request_params, $header, $is_json=true);
  121. // $this->result = $this->sdk_tools->post($params, $this->endpoint."/". $id. "/close");
  122. }
  123. }