gluwa / gluwa-php
PHP 的 Gluwa API v1 库
Requires
- ext-gmp: *
- fgrosse/phpasn1: ~1.5
- paragonie/random_compat: ^1|^2
Requires (Dev)
- phpunit/phpunit: ^8
This package is auto-updated.
Last update: 2024-09-08 19:23:14 UTC
README
尊敬的用户,沙箱环境已被弃用,请更新您的代码以避免出现任何进一步的错误
如果您使用 PHP 开发服务,我们提供的功能可以通过 SDK 使用。Gluwa SDK for PHP 是一个具有强大功能的库,它使 PHP 开发者能够轻松地向 Gluwa API 发送请求。
更新
v1.1.0 - 添加对 sNGNG 的支持 (2021年5月20日) v1.0.9 - 添加对 sUSDCG 的支持 (2021年6月1日)
入门指南
下载下面的 PHP 包并将其上传到您的服务器。SDK 需要 PHP 5.6 或更高版本。
$ composer require gluwa/gluwa-php
创建并初始化一个 Gluwa
对象。然后,输入从 Gluwa 控制台 生成的 APIKey
、APISecret
和 WebookSecret
,以及一个以太坊钱包来管理您的资金。如果您想在内沙箱环境中测试,可以使用沙箱控制台凭据和 Goerli 钱包。
<?php // Specify your vendor path. require_once('vendor/autoload.php'); // If you want to run test on the sandbox mode, change below to values obtained from Gluwa Dashboard's sandbox mode. $Configuration_DEV = false; // "true" if you want to use the sandbox mode $Configuration_APIKey = '{Your API Key}'; $Configuration_APISecret = '{Your API Secret}'; $Configuration_WebhookSecret = '{Your Webhook Secret}'; $Configuration_MasterEthereumPrivateKey = '{Your Ethereum Private Key}'; $Configuration_MasterEthereumAddress = '{Your Ethereum Address}'; $Gluwa = new Gluwa\Gluwa([ '__DEV__' => $Configuration_DEV, 'APIKey' => $Configuration_APIKey, 'APISecret' => $Configuration_APISecret, 'WebhookSecret' => $Configuration_WebhookSecret, 'MasterEthereumPrivateKey' => $Configuration_MasterEthereumPrivateKey, 'MasterEthereumAddress' => $Configuration_MasterEthereumAddress, ]);
如果您使用的是 PHP 5.6,您需要启用 php-bcmath,因为从 PHP 7 之前默认没有启用它。如果尚未安装,请安装它。请访问 此处 获取更多信息。
如果您收到以下消息,您应该在您的服务器上安装 gmp 扩展。请访问 此网站 寻找解决方案。
函数 gmp_init 不可用。请确保 php_gmp 扩展可用
现在您可以开始使用 Gluwa API 了。
方法示例
创建新交易
$PostTransaction_Currency = '{USDG or sUSDCG or KRWG or sNGNG}'; $PostTransaction_Amount = '{Sending Amount}'; $PostTransaction_Target = '{Receiver\'s Address}'; $PostTransaction_MerchantOrderID = '{Merchant\'s Order ID. Optional}'; $PostTransaction_Note = '{Custom Note. Optional}'; $PostTransaction_Expiry = {Expiry of the Transfer Request. Optional}; $Response = $Gluwa->postTransaction([ 'Currency' => $PostTransaction_Currency, 'Amount' => $PostTransaction_Amount, 'Target' => $PostTransaction_Target, 'MerchantOrderID' => $PostTransaction_MerchantOrderID, // optional 'Note' => $PostTransaction_Note, // optional 'Expiry' => $PostTransaction_Expiry, // optional ]);
创建支付二维码
$Response = $Gluwa->getPaymentQRCode([ 'Currency' => 'USDG', // USDG or sUSDCG or KRWG or sNGNG 'Amount' => '1', 'Note' => '', // optional 'MerchantOrderID' => '', // optional 'Expiry' => 1800, // optional ]);
getPaymentQRCode
API 返回一个 Base64 字符串作为二维码 png 图像。您可以在您的网站上显示图像,如下所示
<img src="data:image/png;base64,{BASE64_STRING_YOU_RECEIVED}" alt="Gluwa Payment QR Code">
列出地址的交易历史
$Response = $Gluwa->getListTransactionHistory([ 'Currency' => 'USDG', // USDG or sUSDCG or KRWG or sNGNG 'Limit' => '100', // optional 'Status' => 'Confirmed', // optional 'Offset' => '0', // optional ]);
通过哈希检索交易详情
$Response = $Gluwa->getListTransactionDetail([ 'Currency' => 'USDG', // USDG or sUSDCG or KRWG or sNGNG 'TxnHash' => '', ]);
检索地址的余额
$Response = $Gluwa->getAddresses([ 'Currency' => 'USDG', // USDG or sUSDCG or KRWG or sNGNG ]);
Webhook 验证
当用户通过二维码完成转账时,Gluwa API 会向您的 webhook 端点发送 webhook。验证 Gluwa 服务器实际发送的值是否正确。
webhook 的负载和签名可以按以下方式获得
$Headers = getallheaders(); $Signature = $Headers['X-REQUEST-SIGNATURE']; $Payload = file_get_contents("php://input");
按照以下方式验证请求的签名和负载
$Response2 = $Gluwa->validateWebhook([ 'Payload' => $Payload, 'Signature' => $Signature, ]);