rasclatt/coinzoom

Coinzoom API 的类库

0.0.5 2022-03-17 23:31 UTC

This package is auto-updated.

Last update: 2024-09-18 04:30:22 UTC


README

Maintenance

Coinzoom 的 PHP SDK

请注意,此 SDK 倾向于多层次营销,因此可能包含该领域的术语。例如,distid 可能是会员 ID 或客户 ID。

还应注意,此工具和开发处于早期阶段。

示例 1:获取国家

use \CoinZoom\PartnerApi\Locale;

$arr = [];
array_map(function($v) use (&$arr) {
    $arr[$v['isoCode3']] = $v['name'];
}, (new Locale())->getCountries());
print_r($arr);

示例 2:获取地区

use \CoinZoom\PartnerApi\Locale;

$regions = (new Locale())->getRegions('USA'); 
$arr = [];
array_map(function($v) use (&$arr) {
    $arr[$v['code']] = $v['name'];
}, $regions);
print_r($arr);

示例 3:注册新成员

class OnboardCreateRequest extends \SmartDto\Dto
{
    public $email = 'someemail@example.com';
    public $mobileNumber = 1322131231231;
    public $firstName = 'Jane';
    public $middleName = '';
    public $lastName = 'Doe';
    public $dateOfBirth = '1982-04-17';
    public $addressLine1 = '101 Some Address';
    public $addressLine2 = '';
    public $city = 'Reno';
    public $stateCode = 'NV';
    public $zipCode = 89523;
    public $countryCode = 'USA';
    public $employmentStatus = 'FULL_TIME';
    public $preTaxAnnualIncome = '50k-100k';
    public $gender = 'FEMALE';
    public $distid = '112932';
}

$coinzoomData = new OnboardCreateRequest();
$Onboarding = new \CoinZoom\PartnerApi\Onboard();

try {
    # Create a new user
    $data = $Onboarding->create(...[
        new OnboardCreateRequest($coinzoomData)
    ]);
}
catch (\Exception $e) {
    print_r([
        'success' => false,
        'message' => 'Missing required values'
    ]);
}
# If the user was not created, tell
if(empty($data[0]->success)) {
    print_r([
        'success' => false,
        'message' => str_replace(['{','}','='],['','',': '],$data[0]->message)
    ]);
}
else {
    # Create a new Dto for ease of use
    print_r($data[0]->toArray());
}

示例 4:创建交易

use \CoinZoom\Dto\ {
    Order\Create as OrderCreate,
    Order\CreateWithUuidRequest as OrderCreateUuid
};
use \CoinZoom\ {
    Order,
    Currency,
    Market
};

# Create an order dto to send to wallet
$data = [
    'distid' => $request->distid,
    'invoice' => $request->invoice,
    'price' => $request->total
];
# Create new user order
if(!empty($request->referralToken)) {
    $data['referralToken'] = $request->referralToken;
    $CreateDto = new OrderCreateUuid($data);
}
# Create current user order
else
    $CreateDto = new OrderCreate($data);
# Start transaction
$CZ = new Order($CreateDto);
# Set reply url (spinner)
$CZ->setWebhook('https://www.example.com/webhook/')
# Set the default currency
    ->setPaymentOption('USD');
# Try and create the CZ transaction
try {
    # Create the CZ transaction
    $createTransaction = $CZ->create(new Currency(new Market()));
}
catch (\Exception $e) {
    die('Wallet failed with error: '.$e->getMessage().':'.$e->getCode());
}
print_r($createTransaction);