Khi bạn đăng kí sử dụng với Dotmoney bạn sẽ được cung cấp các giá trị: secretKey, accessKey, product_id
Các giá trị ban đầu:
$secretKey được sử dụng trong hàm createHash()
$accessKey
$product_id
$accessDate là thời gian hiện tại theo định dạng timestamp (ex: 1671088940
)
$userId là user id của người dùng
$requestMethod = ‘GET’ hoặc ‘POST’
$host = ‘https://api.sb.d-money.jp’;
$caonicalURI là đường dẫn tuyệt đối
$queryString là query được gắn vào url có dạng
$queryString = 'user_id'.$userId.'&access_key='.$accessKey.'&access_date='.$accessDate.' &product_id='.$product_id;
$payload là số point muốn cộng vào tài khoản Dotmoney có dạng
$payload = ‘{“request_id”:”abcd-abcd-abcd-abcd”,”amount”:810}’;
Với request_id là duy nhât lần POST sau không được giống lần trước, amount là số point cộng vào
Lấy thông tin User
Sử dụng Curl để lấy thông tin:
$accessDate = time();
$secretKey = $secretKey;
$requestMethod = ‘GET’;
$accessKey = $accessKey;
$userId = ‘1111’; thay đổi để lấy thông tin của user khác
$payload = ”;
$queryString =”;
$host = ‘https://api.sb.d-money.jp’;
$caonicalURI = “/account/exid-“.$userId;
$ch = curl_init($url);
$header = array(“Content-Type: application/json”,”Authorization:Version1_”.$accessKey.”_”.$accessDate.”_”.$executeCreateHash);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
curl_exec($ch);
curl_close($ch);
Trong đó
$url = $host +$caonicalURI (https://api.sb.d-money.jp/account/exid-{userId})
$executeCreateHash là một chuỗi string bao gồm ($accessDate, $requestMethod, $canonicalURI, $queryString, $payload) được mã hóa bằng thuật toán ‘sha256’ xem hàm dưới đây createHash()
private function createHash($canonicalRequest) {
$canonicalHash = hash(‘sha256’,$canonicalRequest,false);
return hash_hmac(‘sha256’,$canonicalHash,$secretKey, false);
}
$canonicalRequest = “$accessDate.$requestMethod.$canonicalURI.$queryString.$payload”;
Kết quả trả về:
Thành công:
{“account_number”:”1484719774770211″,”status”:”ACTIVE”,”balance”:300,”certificated”:false}
Thất bại không tìm thấy tài khoản:
{“code”:”business.account_not_found”,”message”:”Account not found.”}
Chuyển point cho user
$accessDate = time();
$secretKey = $secretKey;
$requestMethod = ‘POST’;
$accessKey =$accessKey;
$userId = ‘1111’; thay đổi để chuyển point cho user khác
$payload = ‘{“request_id”:”abcd-abcd-abcd-1236″,”amount”:810}’;
$queryString = ”;
$host = ‘https://api.sb.d-money.jp’;
$ch = curl_init($url);
$header = array(“Content-Type: application/json”,”Authorization: Version1_”.$accessKey.”_”.$accessDate.”_”.$executeCreateHash);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
curl_setopt($ch,CURLOPT_POSTFIELDS,$payload);
curl_setopt($ch,CURLOPT_POST,true);
curl_exec($ch);
curl_close($ch);
Kết quả trả về có dạng
{“history_id”:114162,”amount”:100,”balance”:80950,”title”:”ポイント交換で増やす”,”content”:”AIデザインアンケート”,”accumulation_amount”:100,”account_number”:”1484648216191256″}
Đăng kí và đăng nhập tài khoản
$accessDate = time();
$secretKey = $secretKey;
$requestMethod = ‘POST’;
$accessKey =$accessKey;
$userId = ‘1111’; thay đổi để tạo user mới
$payload = ”;
$queryString = ‘user_id=’.$userId.’&access_key=’.$accessKey.’&access_date=’.$accessDate.’&product_id=’.$product_id;
$product_id = $product_id;
$host = ‘https://sb.d-money.jp’;
$canonicalURI = ‘/earn/exchange’; có thể thay đổi đến trang đích mong muốn ‘/withdrawal’ hoặc ‘/history’
Hãy tạo 1 url có dạng
$url = $host.$canonicalURI.”?”.$queryString.”&signature=Version1_”.$createHash
$createHash là chuỗi mã hóa bằng hàm createHash()
URL có dạng:
https://sb.d-money.jp/earn/exchange?user_id=3333&access_key=xxxx&access_date=1671092064&product_id=xxxx &signature=Version1_ecd519d61e96c4e46afe1db68128ee6a2adf775820ce072c392f84d69bdfe756
Chạy url này bạn có thể đăng nhập vào trang https://sb.d-money.jp/earn/exchange