mirror of
				https://github.com/v2board/v2board.git
				synced 2025-10-31 09:21:46 +08:00 
			
		
		
		
	add bitpayx class
This commit is contained in:
		
							
								
								
									
										82
									
								
								library/BitpayX.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								library/BitpayX.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,82 @@ | ||||
| <?php | ||||
| namespace Library; | ||||
|  | ||||
| class BitpayX { | ||||
|     private $bitpayxAppSecret; | ||||
|     private $bitpayxGatewayUri; | ||||
|     /** | ||||
| 	 * 签名初始化 | ||||
| 	 * @param merKey	签名密钥 | ||||
| 	 */ | ||||
| 	public function __construct($bitpayxAppSecret) { | ||||
| 		var_dump('123');exit; | ||||
| 		$this->bitpayxAppSecret = $bitpayxAppSecret; | ||||
| 		$this->bitpayxGatewayUri = 'https://api.mugglepay.com/v1/'; | ||||
| 	} | ||||
| 	 | ||||
|     public function prepareSignId($tradeno) | ||||
|     { | ||||
|         $data_sign = array(); | ||||
|         $data_sign['merchant_order_id'] = $tradeno; | ||||
|         $data_sign['secret'] = $this->bitpayxAppSecret; | ||||
|         $data_sign['type'] = 'FIAT'; | ||||
|         ksort($data_sign); | ||||
|         return http_build_query($data_sign); | ||||
|     } | ||||
|     public function sign($data) | ||||
|     { | ||||
|         return strtolower(md5(md5($data) . $this->bitpayxAppSecret)); | ||||
|     } | ||||
|     public function verify($data, $signature) | ||||
|     { | ||||
|         $mySign = $this->sign($data); | ||||
|         return $mySign === $signature; | ||||
|     } | ||||
|     public function mprequest($data) | ||||
|     { | ||||
|         $headers = array('content-type: application/json', 'token: ' . $this->bitpayxAppSecret); | ||||
|         $curl = curl_init(); | ||||
|         $url = $this->bitpayxGatewayUri . 'orders'; | ||||
|         curl_setopt($curl, CURLOPT_URL, $url); | ||||
|         curl_setopt($curl, CURLOPT_POST, 1); | ||||
|         $data_string = json_encode($data); | ||||
|         curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string); | ||||
|         curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); | ||||
|         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); | ||||
|         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); | ||||
|         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); | ||||
|         $data = curl_exec($curl); | ||||
|         curl_close($curl); | ||||
|         return json_decode($data, true); | ||||
|     } | ||||
|     public function mpcheckout($orderId, $data) | ||||
|     { | ||||
|         $headers = array('content-type: application/json', 'token: ' . $this->bitpayxAppSecret); | ||||
|         $curl = curl_init(); | ||||
|         $url = $this->bitpayxGatewayUri . 'orders/' . $orderId . '/checkout'; | ||||
|         curl_setopt($curl, CURLOPT_URL, $url); | ||||
|         curl_setopt($curl, CURLOPT_POST, 1); | ||||
|         $data_string = json_encode($data); | ||||
|         curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string); | ||||
|         curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); | ||||
|         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); | ||||
|         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); | ||||
|         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); | ||||
|         $data = curl_exec($curl); | ||||
|         curl_close($curl); | ||||
|         return json_decode($data, true); | ||||
|     } | ||||
|     public function refund($merchantTradeNo) { | ||||
|         // TODO | ||||
|         return true; | ||||
|     } | ||||
|     public function buildHtml($params, $method = 'post', $target = '_self'){ | ||||
|         // var_dump($params);exit; | ||||
| 		$html = "<form id='submit' name='submit' action='".$this->gatewayUri."' method='$method' target='$target'>"; | ||||
| 		foreach ($params as $key => $value) { | ||||
| 			$html .= "<input type='hidden' name='$key' value='$value'/>"; | ||||
| 		} | ||||
| 		$html .= "</form><script>document.forms['submit'].submit();</script>"; | ||||
| 		return $html; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user