应用场景:
在个人中心,查看个人绑卡列表,获取用户使用连连支付绑定的银行卡列表。
实现:
// 用户绑定银行卡查询
public function getMyCardList()
{
$user = $this->User(); // 获取当前用户信息
$llPay = new LianLianPay();
$result = $llPay->getLinkedacct($user);
if ($result['status'] == 'succeeded') {
$linked_acctlist = $result['linked_acctlist'];
// 对银行卡号加密处理
foreach ($linked_acctlist as $key => $value) {
$linked_acctlist[$key]['linked_acctno'] = substr_cut($value['linked_acctno']);
}
return $this->renderSuccess($linked_acctlist);
}
return $this->renderSuccess('暂无数据');
}
/**
* 隐藏敏感字符
* @param string $value
* @return string
*/
function substr_cut(string $value): string
{
$strlen = mb_strlen($value, 'utf-8');
if ($strlen <= 1) return $value;
$firstStr = mb_substr($value, 0, 1, 'utf-8');
$lastStr = mb_substr($value, -1, 1, 'utf-8');
return $strlen == 2 ? $firstStr . str_repeat('*', $strlen - 1) : $firstStr . str_repeat("*", $strlen - 2) . $lastStr;
}
LianLianPay.php
// 03 用户绑卡信息查询
public function getLinkedacct($user)
{
include_once VENDOR_PATH . '/lianlianpay/LLianPayClient.php';
$time = date('YmdHis',time());
$parameter = new \stdClass();
$parameter->timestamp = $time;
$parameter->oid_partner = $this->payee_id; // 商户号
$parameter->user_id = $user['user_id'];
$gateway_url = 'https://accpapi.lianlianpay.com/v1/acctmgr/query-linkedacct';
$client = new LLianPayClient();
$result = $client->sendRequest($gateway_url,json_encode($parameter));
if($result['ret_code'] == '0000'){
$result['status'] = 'succeeded';
}else{
$result = ['status'=>'failed','msg'=>$result['ret_msg']];
}
return $result;
}
接口返回