ryuamy / trs-emas-php
财政部PHP API第三方库
dev-master
2021-07-22 10:21 UTC
Requires
- php: >=7.2.0
This package is auto-updated.
Last update: 2024-09-22 17:35:51 UTC
README
使用财政部 API v2.2,请确保使用您打算使用的财政部API版本,并阅读以下关于注册和交易流程的API步骤。
安装
通过以下命令使用composer安装包
composer require ryuamy/trs-emas-php
调用包
在您的项目上添加以下代码
use Ryuamy\TrsEmas;
用法
TrsEmas\Class::function( $productionFlag, $bodyParameters, $token );
参数详情
- $productionFlag: 如果设置为true,则包将调用财政部生产API,如果为false,则调用财政部测试API。所有类均必须设置。
- $bodyParameters: 请求体参数。一些类中为可选。
- $token: 从客户端登录(用于用户注册)或用户登录(用于API的其余部分)获取的bearer令牌。一些类中为可选。
请参考示例以了解每个类对参数的要求。
示例
认证
客户端登录
$bodyParameters = [ 'client_id' => '(Treasury client id)', 'client_secret' => '(Treasury client secret)', ]; $Tresury = TrsEmas\Authentication::loginClient( true, $bodyParameters );
用户注册
$bodyParameters = [ 'name' => 'Ryu Amy', 'email' => 'ryuamy.mail@gmail.com', 'password' => '(My Password)', 'password_confirmation' => '(My Password)', 'gender' => 'female', 'birthday' => '1991-01-01', 'referral_code' => '', 'phone' => '081312345678', 'security_question' => 'KQxz9YXazA14VEO', 'security_question_answer' => 'Sebastian Michaelis', 'selfie_scan' => '/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQ...', 'id_card_scan' => '/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQ...', 'owner_name' => 'Ryu Amy', 'account_number' => '123456', 'bank_code' => 'string', 'branch' => 'Jakarta', 'customer_concern' => false ]; $Tresury = TrsEmas\Authentication::register( true, $bodyParameters, '(Bearer Token)' );
注意
用户登录
$bodyParameters = [ 'client_id' => '(Treasury client id)', 'client_secret' => '(Treasury client secret)', 'email' => 'ryuamy.mail@gmail.com', 'password' => '(My Password)', ]; $Tresury = TrsEmas\Authentication::login( true, $bodyParameters );
交易
黄金价格
$bodyParameters = [ 'start_date' => '2021-03-03 09:00:00', 'end_date' => '2021-03-03 10:00:00' ]; $Tresury = TrsEmas\Transaction::goldRate( true, $bodyParameters, '(Bearer Token)' );
计算购买金额类型货币
$bodyParameters = [ 'amount_type' => 'currency', 'amount' => 400000, 'payment_method' => 'bca', ]; $Tresury = TrsEmas\Transaction::calculateBuy( true, $bodyParameters, '(Bearer Token)' );
计算购买金额类型黄金
$bodyParameters = [ 'amount_type' => 'gold', 'amount' => 0.582, 'payment_method' => 'bca', ]; $Tresury = TrsEmas\Transaction::calculateBuy( true, $bodyParameters, '(Bearer Token)' );
计算销售金额类型货币
$bodyParameters = [ 'amount_type' => 'currency', 'amount' => 50000, ]; $Tresury = TrsEmas\Transaction::calculateSell( true, $bodyParameters, '(Bearer Token)' );
计算销售金额类型黄金
$bodyParameters = [ 'amount_type' => 'gold', 'amount' => 0.015, ]; $Tresury = TrsEmas\Transaction::calculateSell( true, $bodyParameters, '(Bearer Token)' );
计算合作伙伴购买金额类型货币
$bodyParameters = [ 'amount_type' => 'currency', 'amount' => 400000, ]; $Tresury = TrsEmas\Transaction::calculateBuyPartner( true, $bodyParameters, '(Bearer Token)' );
计算合作伙伴购买金额类型黄金
$bodyParameters = [ 'amount_type' => 'gold', 'amount' => 0.582, ]; $Tresury = TrsEmas\Transaction::calculateBuyPartner( true, $bodyParameters, '(Bearer Token)' );
计算合作伙伴销售金额类型货币
$bodyParameters = [ 'amount_type' => 'currency', 'amount' => 50000, ]; $Tresury = TrsEmas\Transaction::calculateSellPartner( true, $bodyParameters, '(Bearer Token)' );
计算合作伙伴销售金额类型黄金
$bodyParameters = [ 'amount_type' => 'gold', 'amount' => 0.015, ]; $Tresury = TrsEmas\Transaction::calculateSellPartner( true, $bodyParameters, '(Bearer Token)' );
支付方式
$Tresury = TrsEmas\Transaction::paymentMethod( true, '(Bearer Token)' );
购买黄金
$bodyParameters = [ 'unit' => 1.8766253, 'total' => 796169, 'payment_channel' => 'BRIN', 'latitude' => '-6.914744', 'longitude' => '107.609810' ]; $Tresury = TrsEmas\Transaction::buy( true, $bodyParameters, '(Bearer Token)' );
为合作伙伴购买黄金
$bodyParameters = [ 'invoice_number' => 'TRS42154451', 'unit' => 1.8766253, 'total' => 796169, 'payment_channel' => 'BRIN', 'latitude' => '-6.914744', 'longitude' => '107.609810' ]; $Tresury = TrsEmas\Transaction::buyPartner( true, $bodyParameters, '(Bearer Token)' );
申请优惠券购买黄金
$bodyParameters = [ 'code' => 'TRSVCR1', ]; $Tresury = TrsEmas\Transaction::applyVoucher( true, $bodyParameters, '(Bearer Token)' );
合作伙伴支付通知
$bodyParameters = [ 'invoice_number' => 'TRS42154451', 'payment_note' => 'Payment to BRI' ]; $Tresury = TrsEmas\Transaction::paymentNotify( true, $bodyParameters, '(Bearer Token)' );
出售黄金
$bodyParameters = [ 'total' => 31587, 'unit' => 0.0432, 'latitude' => '-6.914744', 'longitude' => '107.609810' ]; $Tresury = TrsEmas\Transaction::sell( true, $bodyParameters, '(Bearer Token)' );
铸币
合作伙伴铸币
$Tresury = TrsEmas\Minting::mintingPartner( true, '(Bearer Token)' );
铸币费
$bodyParameters = [ 'minting_partner' => 'x6A3lOoJXL59zDd' ]; $Tresury = TrsEmas\Minting::mintingFee( true, $bodyParameters, '(Bearer Token)' );
注意
- 使用铸币合作伙伴响应中的minting_partner值
铸币件
$bodyParameters = [ 'minting_partner' => 'x6A3lOoJXL59zDd' ]; $Tresury = TrsEmas\Minting::mintingPiece( true, $bodyParameters, '(Bearer Token)' );
注意
- 使用铸币合作伙伴响应中的minting_partner值
铸币运输
$bodyParameters = [ 'minting_partner' => 'x6A3lOoJXL59zDd' ]; $Tresury = TrsEmas\Minting::mintingShipping( true, $bodyParameters, '(Bearer Token)' );
注意
- 使用铸币合作伙伴响应中的minting_partner值
计算铸币
$bodyParameters = [ 'minting_partner' => 'x6A3lOoJXL59zDd', 'minting_fee' => 'JGYPjrXW7XDw2mE', 'minting_piece' => 'KQxz9YXazA14VEO', 'minting_shipping' => '7Jb1VXLrzpm69xv' ]; $Tresury = TrsEmas\Minting::calculateMinting( true, $bodyParameters, '(Bearer Token)' );
注意
- 使用铸币合作伙伴响应中的minting_partner值
- 使用铸币费响应中的minting_fee值
- 使用铸币件响应中的minting_piece值
- 使用铸币运输响应中的minting_shipping值
黄金铸币
$bodyParameters = [ 'minting_partner' => 'x6A3lOoJXL59zDd', 'minting_fee' => 'JGYPjrXW7XDw2mE', 'minting_piece' => 'KQxz9YXazA14VEO', 'minting_shipping' => '7Jb1VXLrzpm69xv', 'shipping_address' => 'Jalan Prapanca, Jakarta Selatan', 'payment_channel' => 'BRIN', 'latitude' => '-6.914744', 'longitude' => '107.609810', ]; $Tresury = TrsEmas\Minting::goldMinting( true, $bodyParameters, '(Bearer Token)' );
为合作伙伴铸币
$bodyParameters = [ 'minting_partner' => 'x6A3lOoJXL59zDd', 'minting_fee' => 'JGYPjrXW7XDw2mE', 'minting_piece' => 'KQxz9YXazA14VEO', 'minting_shipping' => '7Jb1VXLrzpm69xv', 'shipping_address' => 'Jalan Prapanca, Jakarta Selatan', 'payment_channel' => 'BRIN', 'latitude' => '-6.914744', 'longitude' => '107.609810', ]; $Tresury = TrsEmas\Minting::goldMintingPartner( true, $bodyParameters, '(Bearer Token)' );
用户
获取个人资料
$Tresury = TrsEmas\User::profile( true, '(Bearer Token)' );
更新个人资料
仅获取财政部更新个人资料URL
$Tresury = TrsEmas\User::updateProfile( true, '(Bearer Token)' );
更新密码
$bodyParameters = [ 'email' => 'ryuamy.mail@gmail.com', 'password' => '(New Password)', 'password_confirmation' => '(New Password)', 'pin' => '12345', ]; $Tresury = TrsEmas\User::updatePassword( true, $bodyParameters, '(Bearer Token)' );
历史记录
购买黄金历史记录
$Tresury = TrsEmas\History::buyGoldHistory( true, '(Bearer Token)' );
出售黄金历史记录
$Tresury = TrsEmas\History::sellGoldHistory( true, '(Bearer Token)' );
黄金铸币历史记录
$Tresury = TrsEmas\History::goldMintingHistory( true, '(Bearer Token)' );
购买黄金详情历史记录
$bodyParameters = [ 'invoice_no' => 'TRS42154451', ]; $Tresury = TrsEmas\History::buyGoldDetailHistory( true, $bodyParameters, '(Bearer Token)' );
出售黄金详情历史记录
$bodyParameters = [ 'invoice_no' => 'TRS42154451', ]; $Tresury = TrsEmas\History::sellGoldDetailHistory( true, $bodyParameters, '(Bearer Token)' );
黄金铸币详情历史记录
$bodyParameters = [ 'invoice_no' => 'TRS42154451', ]; $Tresury = TrsEmas\History::goldMintingDetailHistory( true, $bodyParameters, '(Bearer Token)' );
附加
检查电子邮件可用性
$bodyParameters = [ 'email' => 'ryuamy.mail@gmail.com', ]; $Tresury = TrsEmas\Additional::checkEmailAvailability( true, $bodyParameters );
安全问题
$Tresury = TrsEmas\Additional::securityQuestion( true );
银行列表
$Tresury = TrsEmas\Additional::bankList( true );
步骤
注册
- 从客户端登录API获取Bearer Token
- 从安全问题API获取安全码列表
- 从银行列表API获取银行列表
- 进行客户注册
黄金交易
要创建使用财政部支付方式的黄金交易,以下步骤:
- 获取黄金价格。
- 使用货币或单位计算黄金交易。黄金单位支持最多4位数字。
- 获取支付方式列表以获取payment_code响应。
- 使用gold buy和sell gold端点进行交易。
要使用合作伙伴的支付方式创建黄金交易,以下步骤是
- 获取黄金价格。
- 使用货币或单位计算黄金交易。黄金单位支持最多4位数字
- 使用gold buy和sell gold端点进行交易。
- 触发payment notify端点以确保支付已成功。
铸币或铸金
- 获取铸币合作伙伴列表。
- 检查所选合作伙伴的铸币费用。
- 检查所选合作伙伴可用的铸币件。
- 计算总铸币支付。
- 获取支付方式列表以获取payment_code响应。
- 进行交易。