主页 > imtoken钱包网址 > PHP如何使用比特币Coinbase钱包库开发应用(详细步骤)

PHP如何使用比特币Coinbase钱包库开发应用(详细步骤)

imtoken钱包网址 2023-12-19 05:13:25

$data = $client->decodeLastResponse();

登录复制

活动记录方法

该库包括对资源对象上的 Active Record 方法的支持。 引导应用程序时必须启用此功能。

$client->enableActiveRecord();

登录复制

启用后,您可以在资源对象上调用 Active Record 方法。

use Coinbase\Wallet\Enum\Param;
$transactions = $account->getTransactions([
    Param::FETCH_ALL => true,
]);

登录复制

用法

这并非旨在提供 API 的完整文档。 有关详细信息,请参阅官方文档。

市场数据

列出支持的当地货币

$currencies = $client->getCurrencies();

登录复制

列出汇率

$rates = $client->getExchangeRates();

登录复制

买价

$buyPrice = $client->getBuyPrice('BTC-USD');

登录复制

售价

$sellPrice = $client->getSellPrice('BTC-USD');

登录复制

现货价格

$spotPrice = $client->getSpotPrice('BTC-USD');

登录复制

当前服务器时间

$time = $client->getTime();

登录复制

用户

获取授权信息

$auth = $client->getCurrentAuthorization();

登录复制

登录复制

查找用户信息

$auth = $client->getCurrentAuthorization();

登录复制

登录复制

获取当前用户

$user = $client->getCurrentUser();

登录复制

更新当前用户

$user->setName('New Name');
$client->updateCurrentUser($user);

登录复制

账号

列出所有帐户

$accounts = $client->getAccounts();

登录复制

列出帐户详细信息

$account = $client->getAccount($accountId);

登录复制

列出主要帐户详细信息

$account = $client->getPrimaryAccount();

登录复制

使帐户成为主要帐户

$client->setPrimaryAccount($account);

登录复制

创建一个新的比特币账户

use Coinbase\Wallet\Resource\Account;
$account = new Account([
    'name' => 'New Account'
]);
$client->createAccount($account);

登录复制

更新账户

$account->setName('New Account Name');
$client->updateAccount($account):

登录复制

删除帐户

$client->deleteAccount($account);

登录复制

地址

列出账户的收货地址

$addresses = $client->getAccountAddresses($account);

登录复制

获取接收地址信息

$address = $client->getAccountAddress($account, $addressId);

登录复制

列出地址的交易

$transactions = $client->getAddressTransactions($address);

登录复制

创建一个新的收货地址

use Coinbase\Wallet\Resource\Address;
$address = new Address([
    'name' => 'New Address'
]);
$client->createAccountAddress($account, $address);

登录复制

贸易

列出交易

$transactions = $client->getAccountTransactions($account);

登录复制

获取交易信息

$transaction = $client->getAccountTransaction($account, $transactionId);

登录复制

发送资金

use Coinbase\Wallet\Enum\CurrencyCode;
use Coinbase\Wallet\Resource\Transaction;
use Coinbase\Wallet\Value\Money;
$transaction = Transaction::send([
    'toBitcoinAddress' => 'ADDRESS',
    'amount'           => new Money(5, CurrencyCode::USD),
    'description'      => 'Your first bitcoin!',
    'fee'              => '0.0001' // only required for transactions under BTC0.0001
]);
try { $client->createAccountTransaction($account, $transaction); }
catch(Exception $e) {
     echo $e->getMessage(); 
}

登录复制

将资金转移到新账户

use Coinbase\Wallet\Resource\Transaction;
use Coinbase\Wallet\Resource\Account;
$fromAccount = Account::reference($accountId);
$toAccount = new Account([
    'name' => 'New Account'
]);
$client->createAccount($toAccount);
$transaction = Transaction::transfer([
    'to'            => $toAccount,
    'bitcoinAmount' => 1,
    'description'   => 'Your first bitcoin!'
]);
$client->createAccountTransaction($fromAccount, $transaction);

登录复制

申请资金

use Coinbase\Wallet\Enum\CurrencyCode;
use Coinbase\Wallet\Resource\Transaction;
use Coinbase\Wallet\Value\Money;
$transaction = Transaction::request([
    'amount'      => new Money(8, CurrencyCode::USD),
    'description' => 'Burrito'
]);
$client->createAccountTransaction($transaction);

登录复制

重新发送请求

$account->resendTransaction($transaction);

登录复制

取消请求

$account->cancelTransaction($transaction);

登录复制

完成请求

$account->completeTransaction($transaction);

登录复制

制作采购清单

$buys = $client->getAccountBuys($account);

登录复制

获取购买信息

$buy = $client->getAccountBuy($account, $buyId);

登录复制

购买比特币

use Coinbase\Wallet\Resource\Buy;
$buy = new Buy([
    'bitcoinAmount' => 1
]);
$client->createAccountBuy($account, $buy);

登录复制

购买确认

只有在创建购买时传递 commit=false 时才需要这样做。

use Coinbase\Wallet\Enum\Param;
$client->createAccountBuy($account, $buy, [Param::COMMIT => false]);
$client->commitBuy($buy);

登录复制

销售清单

$sells = $client->getAccountSells($account);

登录复制

获取销售信息

$sell = $client->getAccountSell($account, $sellId);

登录复制

卖比特币

use Coinbase\Wallet\Resource\Sell;
$sell = new Sell([
    'bitcoinAmount' => 1
]);
$client->createAccountSell($account, $sell);

登录复制

销售确认

如果您在创建销售时传递 commit=false,则只需执行此操作。

use Coinbase\Wallet\Enum\Param;
$client->createAccountSell($account, $sell, [Param::COMMIT => false]);
$client->commitSell($sell);

登录复制

订金

制作存款清单

$deposits = $client->getAccountDeposits($account);

登录复制

获取存款信息

$deposit = $client->getAccountDeposit($account, $depositId);

登录复制

订金

use Coinbase\Wallet\Enum\CurrencyCode;
use Coinbase\Wallet\Resource\Deposit;
use Coinbase\Wallet\Value\Money;
$deposit = new Deposit([
    'amount' => new Money(10, CurrencyCode::USD)
]);
$client->createAccountDeposit($account, $deposit);

登录复制

提交定金

如果您在创建存款时传递 commit=false,则只需执行此操作。

use Coinbase\Wallet\Enum\Param;
$client->createAccountDeposit($account, $deposit, [Param::COMMIT => false]);
$client->commitDeposit($deposit);

登录复制

取钱

列出取款单

$withdrawals = $client->getAccountWithdrawals($account);

登录复制

取消

$withdrawal = $client->getAccountWithdrawal($account, $withdrawalId);

登录复制

取钱

use Coinbase\Wallet\Enum\CurrencyCode;
use Coinbase\Wallet\Resource\Withdrawal;
use Coinbase\Wallet\Value\Money;
$withdrawal = new Withdrawal([
    'amount' => new Money(10, CurrencyCode::USD)
]);
$client->createAccountWithdrawal($account, $withdrawal);

登录复制

提交退出

只有在调用 withdraw 方法时传入 commit=true 时才需要这样做。

use Coinbase\Wallet\Enum\Param;
$client->createAccountWithdrawal($account, $withdrawal, [Param::COMMIT => false]);
$client->commitWithdrawal($withdrawal);

登录复制

付款方法

列出付款方式

$paymentMethods = $client->getPaymentMethods();

登录复制

获取付款方式

$paymentMethod = $client->getPaymentMethod($paymentMethodId);

登录复制

商人

做生意

$merchant = $client->getMerchant($merchantId);

登录复制

命令

列表顺序

$orders = $client->getOrders();

登录复制

获得订单

$order = $client->getOrder($orderId);

登录复制

创建订单

use Coinbase\Wallet\Resource\Order;
use Coinbase\Wallet\Value\Money;
$order = new Order([
    'name' => 'Order #1234',
    'amount' => Money::btc(1)
]);
$client->createOrder($order);

登录复制

退款订单

use Coinbase\Wallet\Enum\CurrencyCode;
$client->refundOrder($order, CurrencyCode::BTC);

登录复制

结账

列表结帐

$checkouts = $client->getCheckouts();

登录复制

创建结帐

use Coinbase\Wallet\Resource\Checkout;
$params = array(
    'name'               => 'My Order',
    'amount'             => new Money(100, 'USD'),
    'metadata'           => array( 'order_id' => $custom_order_id )
);
$checkout = new Checkout($params);
$client->createCheckout($checkout);
$code = $checkout->getEmbedCode();
$redirect_url = "https://www.coinbase.com/checkouts/$code";

登录复制

查看

$checkout = $client->getCheckout($checkoutId);

登录复制

获取结账订单

$orders = $client->getCheckoutOrders($checkout);

登录复制

创建结帐订单

$order = $client->createNewCheckoutOrder($checkout);

登录复制

通知 webhook 和验证

$raw_body = file_get_contents('php://input');
$signature = $_SERVER['HTTP_CB_SIGNATURE'];
$authenticity = $client->verifyCallback($raw_body, $signature); // boolean

登录复制

贡献和测试

测试套件是使用 PHPUnit 构建的。 通过运行 phpunit 命令来运行单元测试套件。

phpunit

登录复制

还有一组集成测试比特币钱包正确注册流程比特币钱包正确注册流程,它们向 API 发出实际请求并检查结果对象。 要运行这些测试,您必须将 phpunit.xml.dist 复制到 phpunit.xml,为 CB_API_KEY 和 CB_API_SECRET 变量提供值,并在运行测试套件时指定集成组。

phpunit --group integration

登录复制

以上就是PHP如何使用比特币Coinbase钱包库开发应用的详细内容(详细步骤)。 更多内容请关注php中文网其他相关文章!

免责声明:本文转载于:segmentfault think no,如有侵权,请联系admin@php.cn删除