PHP

Hướng dẫn sử dụng dotmoney

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