|
|
@@ -103,19 +103,24 @@ class CregisPayService extends BaseService
|
|
|
|
|
|
/**
|
|
|
* 创建钱包地址
|
|
|
- * @param string $mainCoinType
|
|
|
+ * @param string $mainCoinType 主链编号,1000-solana,195-波场
|
|
|
* @return mixed
|
|
|
*/
|
|
|
public function createAddress($mainCoinType = '1000')
|
|
|
{
|
|
|
- $callback = url(self::$rechargeNotifyUrl, '', true);
|
|
|
- $result = $this->dispatch->createAddress(self::$config['project_no'], $mainCoinType,'',$callback);
|
|
|
- $code = isset($result['code']) ? trim($result['code']) : 0;
|
|
|
- $address = isset($result['data']['address']) ? trim($result['data']['address']) : '';
|
|
|
- if ($code == '00000' && $address) {
|
|
|
- return $address;
|
|
|
- } else {
|
|
|
- RedisService::set("caches:cregisPay:createAddress:error_" . date('YmdHis'), ['mainCoinType' => $mainCoinType, 'result' => $result], 7200);
|
|
|
+ try {
|
|
|
+ $callback = url(self::$rechargeNotifyUrl, '', true);
|
|
|
+ $result = $this->dispatch->createAddress(self::$config['project_no'], $mainCoinType, '', $callback);
|
|
|
+ $code = isset($result['code']) ? trim($result['code']) : 0;
|
|
|
+ $address = isset($result['data']['address']) ? trim($result['data']['address']) : '';
|
|
|
+ if ($code == '00000' && $address) {
|
|
|
+ return $address;
|
|
|
+ } else {
|
|
|
+ RedisService::set("caches:cregisPay:createAddress:error_" . date('YmdHis'), ['mainCoinType' => $mainCoinType, 'result' => $result], 7200);
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+ }catch (\Exception $exception){
|
|
|
+ RedisService::set("caches:cregisPay:createAddress:error_" . date('YmdHis'), ['error'=>$exception->getMessage(),'mainCoinType' => $mainCoinType, 'result' => $result], 7200);
|
|
|
return '';
|
|
|
}
|
|
|
|
|
|
@@ -124,14 +129,15 @@ class CregisPayService extends BaseService
|
|
|
/**
|
|
|
* 验证钱包地址合法性
|
|
|
* @param $address 地址
|
|
|
- * @param string $mainCoinType 主币
|
|
|
+ * @param string $mainCoinType 主链编号,1000-solana,195-波场
|
|
|
* @return mixed
|
|
|
*/
|
|
|
- public function checkAddress($address, $mainCoinType = '195')
|
|
|
+ public function checkAddress($address, $mainCoinType = '1000')
|
|
|
{
|
|
|
try {
|
|
|
return $this->dispatch->addressLegal(self::$config['project_no'], $mainCoinType, $address);
|
|
|
} catch (\Exception $exception) {
|
|
|
+ RedisService::set("caches:cregisPay:check_{$address}", ['error'=> $exception->getMessage(),'address'=>$address,'mainType'=>$mainCoinType],7200);
|
|
|
$this->error = $exception->getMessage();
|
|
|
return false;
|
|
|
}
|
|
|
@@ -139,9 +145,11 @@ class CregisPayService extends BaseService
|
|
|
|
|
|
/**
|
|
|
* 查询地址是否存在
|
|
|
+ * @param $address 地址
|
|
|
+ * @param string $mainCoinType 主链编号,1000-solana,195-波场
|
|
|
* @return mixed
|
|
|
*/
|
|
|
- public function existAddress($address, $mainCoinType = '195')
|
|
|
+ public function existAddress($address, $mainCoinType = '1000')
|
|
|
{
|
|
|
return $this->dispatch->addressInner(self::$config['project_no'], $mainCoinType, $address);
|
|
|
}
|
|
|
@@ -162,10 +170,11 @@ class CregisPayService extends BaseService
|
|
|
$callback = self::$config['callUrl'];
|
|
|
$tokenAddress = ConfigService::make()->getConfigByCode('solana_usdt_token', 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB');
|
|
|
$coinType = $coinType ? $coinType : $tokenAddress;
|
|
|
- RedisService::set("caches:cregisPay:{$orderNo}:withdraw", ['callback'=> $callback,'order_no'=>$orderNo,'amount'=>$amount,'remark'=>$remark,'mainType'=>$mainCoinType,'coinType'=>$address],7200);
|
|
|
+ RedisService::set("caches:cregisPay:{$orderNo}:withdraw", ['callback'=> $callback,'order_no'=>$orderNo,'amount'=>$amount,'remark'=>$remark,'address'=>$address,'mainType'=>$mainCoinType,'coinType'=>$coinType],7200);
|
|
|
return $this->dispatch->payout(self::$config['project_no'], $mainCoinType . '@' . $coinType, $address, $amount, $callback, $orderNo, time(), $remark);
|
|
|
} catch (\Exception $exception) {
|
|
|
$this->error = $exception->getMessage();
|
|
|
+ RedisService::set("caches:cregisPay:{$orderNo}:withdraw_error", ['order_no'=>$orderNo,'amount'=>$amount,'remark'=>$remark,'address'=>$address,'mainType'=>$mainCoinType],7200);
|
|
|
return false;
|
|
|
}
|
|
|
}
|