yusufthedragon / treasury-php
Treasury API 的 PHP 封装。
0.1.0
2020-11-29 15:19 UTC
Requires
- php: >=7.2.0
This package is auto-updated.
Last update: 2024-09-29 06:02:50 UTC
README
非官方的 Treasury API 的 PHP 封装/库,用于访问 Treasury API。
安装
安装包
通过以下命令使用 composer 安装 treasury-php
composer require yusufthedragon/treasury-php
或者在您的 composer.json
文件中手动添加。
设置为生产模式
当您将应用程序部署到生产环境时,您可能希望通过将 setProductionMode
设置为 true
来更改 API 端点以使用生产环境。
\YusufTheDragon\Treasury\Treasury::setProductionMode(true);
用法和示例
认证
登录客户端凭据
\YusufTheDragon\Treasury\Auth::loginClient(array $params);
使用示例
$params = [ 'client_id' => '115823', 'client_secret' => 'masdh12km3bf09dbkjlm13bkcsv0asdb1249gss2', 'grant_type' => 'client_credentials' ]; $loginClient = \YusufTheDragon\Treasury\Auth::loginClient($params); var_dump($loginClient);
注册新用户
\YusufTheDragon\Treasury\Auth::register(array $params);
使用示例
$params = [ 'name' => 'John Doe', 'email' => 'john@doe.com', 'password' => 'PassWord', 'password_confirmation' => 'PassWord', 'gender' => 'Male', 'birthday' => '1990-01-01', 'referral_code' => 'TRSRFRL', 'phone' => '089612345678', 'security_question' => 'KQxz9YXazA14VEO', 'security_question_answer' => 'Dr. Seuss', 'selfie_scan' => '/9j/4AAQSkZJRgABAQAAAQAB...', 'id_card_scan' => '/9j/4AAQSkZJRgABAQAAAQAB...', 'owner_name' => 'John Doe', 'account_number' => ' 772661553', 'bank_code' => 'BCA', 'branch' => 'Jakarta', 'customer_concern' => true, 'app_notification' => true, 'email_notification' => true ]; $register = \YusufTheDragon\Treasury\Auth::register($params); var_dump($register);
登录
\YusufTheDragon\Treasury\Auth::login(array $params);
使用示例
$params = [ 'client_id' => '115823', 'client_secret' => 'masdh12km3bf09dbkjlm13bkcsv0asdb1249gss2', 'grant_type' => 'password', 'email' => 'john@doe.com', 'password' => 'JohnDoe' ]; $login = \YusufTheDragon\Treasury\Auth::login($params); var_dump($login);
忘记密码
\YusufTheDragon\Treasury\Auth::forgotPassword(string $email);
使用示例
$forgotPassword = \YusufTheDragon\Treasury\Auth::forgotPassword('john@doe.com'); var_dump($forgotPassword);
交易
获取金价
\YusufTheDragon\Treasury\Transaction::getGoldPrice(string $bearerToken, array $params);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $params = [ 'start_date' => '2020-01-01 00:00:00', 'end_date' => '2020-01-02 00:00:00', 'type' => 'daily' ]; $getGoldPrice = \YusufTheDragon\Treasury\Transaction::getGoldPrice($bearerToken, $params); var_dump($getGoldPrice);
计算黄金金额
\YusufTheDragon\Treasury\Transaction::calculate(string $bearerToken, array $params);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $params = [ 'amount_type' => 'currency', 'amount' => 20000, 'transaction_type' => 'buy', 'payment_type' => 'nett', 'payment_method' => 'bca' ]; $calculate = \YusufTheDragon\Treasury\Transaction::calculate($bearerToken, $params); var_dump($calculate);
获取可用支付方式
\YusufTheDragon\Treasury\Transaction::getPaymentMethod(string $bearerToken);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $getPaymentMethod = \YusufTheDragon\Treasury\Transaction::getPaymentMethod($bearerToken); var_dump($getPaymentMethod);
购买黄金
\YusufTheDragon\Treasury\Transaction::buy(string $bearerToken, array $params);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $params = [ 'invoice_number' => 'TRS987654321', 'unit' => 1.525, 'total' => 981725, 'payment_method' => 'treasury', 'payment_channel' => 'BRIN', 'latitude' => '-6.3853366', 'longitude' => '106.8473377' ]; $buy = \YusufTheDragon\Treasury\Transaction::buy($bearerToken, $params); var_dump($buy);
出售黄金
\YusufTheDragon\Treasury\Transaction::sell(string $bearerToken, array $params);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $params = [ 'total' => 981725, 'unit' => 1.525, 'latitude' => '-6.3853366', 'longitude' => '106.8473377' ]; $sell = \YusufTheDragon\Treasury\Transaction::sell($bearerToken, $params); var_dump($sell);
使用优惠券
\YusufTheDragon\Treasury\Transaction::useVoucher(string $bearerToken, string $code);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $code = 'TRSwpL'; $useVoucher = \YusufTheDragon\Treasury\Transaction::useVoucher($bearerToken, $code); var_dump($useVoucher);
通知支付
\YusufTheDragon\Treasury\Transaction::notify(string $bearerToken, string $invoiceNumber, string $paymentNote);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $invoiceNumber = 'PNT0001', $paymentNote = 'BCA' $notify = \YusufTheDragon\Treasury\Transaction::notify($bearerToken, $invoiceNumber, $paymentNote); var_dump($notify);
获取可用银行
\YusufTheDragon\Treasury\Transaction::getBankList();
使用示例
$getBankList = \YusufTheDragon\Treasury\Transaction::getBankList(); var_dump($getBankList);
铸造
获取铸造合作伙伴
\YusufTheDragon\Treasury\Minting::getMintingPartner(string $bearerToken);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $getMintingPartner = \YusufTheDragon\Treasury\Minting::getMintingPartner($bearerToken); var_dump($getMintingPartner);
获取铸造费用
\YusufTheDragon\Treasury\Minting::getMintingFee(string $bearerToken, string $mintingPartner);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $mintingPartner = 'x6A3lOoJXL59zDd'; $getMintingFee = \YusufTheDragon\Treasury\Minting::getMintingFee($bearerToken, $mintingPartner); var_dump($getMintingFee);
获取铸造件
\YusufTheDragon\Treasury\Minting::getMintingPiece(string $bearerToken, string $mintingPartner);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $mintingPartner = 'x6A3lOoJXL59zDd'; $getMintingPiece = \YusufTheDragon\Treasury\Minting::getMintingPiece($bearerToken, $mintingPartner); var_dump($getMintingPiece);
获取铸造运输
\YusufTheDragon\Treasury\Minting::getMintingShipping(string $bearerToken, string $mintingPartner);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $mintingPartner = 'x6A3lOoJXL59zDd'; $getMintingShipping = \YusufTheDragon\Treasury\Minting::getMintingShipping($bearerToken, $mintingPartner); var_dump($getMintingShipping);
计算黄金铸造
\YusufTheDragon\Treasury\Minting::calculate(string $bearerToken, array $params);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $params = [ 'minting_partner' => 'x6A3lOoJXL59zDd', 'minting_fee' => '6ynW4Kp6dX8zNgq', 'minting_piece' => 'KQxz9YXazA14VEO', 'minting_shipping' => 'zQdmLYAkGAgoN2D' ]; $calculate = \YusufTheDragon\Treasury\Minting::calculate($bearerToken, $params); var_dump($calculate);
铸造黄金
\YusufTheDragon\Treasury\Minting::minting(string $bearerToken, array $params);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $params = [ 'minting_partner' => 'x6A3lOoJXL59zDd', 'minting_fee' => 'JGYPjrXW7XDw2mE', 'minting_piece' => 'KQxz9YXazA14VEO', 'minting_shipping' => 'zQdmLYAkGAgoN2D', 'shipping_address' => 'Custom Address', 'payment_method' => 'partner', 'payment_channel' => 'BRIN', 'latitude' => '-6.3853366', 'longitude' => '106.8473377' ]; $minting = \YusufTheDragon\Treasury\Minting::minting($bearerToken, $params); var_dump($minting);
个人资料
获取个人资料
\YusufTheDragon\Treasury\Profile::getProfile(string $bearerToken);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $getProfile = \YusufTheDragon\Treasury\Profile::getProfile($bearerToken); var_dump($getProfile);
更新个人资料
\YusufTheDragon\Treasury\Profile::updateProfile(string $bearerToken);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $updateProfile = \YusufTheDragon\Treasury\Profile::updateProfile($bearerToken); var_dump($updateProfile);
更新密码
\YusufTheDragon\Treasury\Profile::updatePassword(string $bearerToken, array $params);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $params = [ 'email' => 'john@doe.com', 'password' => 'PassWord', 'password_confirmation' => 'PassWord', 'pin' => '123456' ]; $updatePassword = \YusufTheDragon\Treasury\Profile::updatePassword($bearerToken); var_dump($updatePassword);
历史记录
获取交易历史记录
\YusufTheDragon\Treasury\History::getTransactionHistory(string $bearerToken, string $type);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $type = 'buy'; $getTransactionHistory = \YusufTheDragon\Treasury\History::getTransactionHistory($bearerToken, $type); var_dump($getTransactionHistory);
获取详细信息交易历史记录
\YusufTheDragon\Treasury\History::getTransactionDetail(string $bearerToken, string $type, string $invoiceNo);
使用示例
$bearerToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI'; $type = 'buy'; $invoiceNo = 'TRS64065803'; $getTransactionDetail = \YusufTheDragon\Treasury\History::getTransactionDetail($bearerToken, $type, $invoiceNo); var_dump($getTransactionDetail);
许可证
本库是开源软件,根据 GPL-3.0-only 许可协议许可。