aidcoinco / aidpay-php
AIDPay API的PHP包装器
v1.3
2019-01-07 15:44 UTC
Requires
- php: >=7.0.0
- ext-curl: *
- ext-json: *
- mashape/unirest-php: ^3.0
This package is auto-updated.
Last update: 2024-09-08 07:48:34 UTC
README
为AIDPay API的PHP包装器
官方文档请访问https://apidoc.aidpay.io
安装
composer require aidcoinco/aidpay-php
生成API密钥和密钥
请联系AidCoin获取您的API密钥和密钥这里。
用法
准备需求
require __DIR__ . '/vendor/autoload.php'; use AidCoin\AidPay;
创建客户端
$aidPay = new AidPay('yourApiKey', 'yourApiSecret');
调用API
getCharities
描述
- 返回启用慈善机构的列表。
参数
- 包含限制(默认12)和偏移量(默认0)的数组
$aidPay->getCharities(['limit' => 2, 'offset' => 0]);
结果
{
"data": [
{
"id": 1,
"name": "Friends Charity",
"logo": "https://www.aidchain.io/image/charity/friends-charity.jpeg",
"url": "https://www.aidchain.io/charity/friends-charity"
},
{
"id": 2,
"name": "Save Us Charity",
"logo": "https://www.aidchain.io/image/charity/save-us-charity.jpeg",
"url": "https://www.aidchain.io/charity/save-us-charity"
}
],
"count": 7,
"pagination": {
"page": 1,
"pages": 4,
"next": "/api/v1/aidpay/payments/charities?limit=2&offset=2",
"prev": null
}
}
getCurrencies
描述
- 返回启用货币的列表,作为具有相关DAI汇率值的平面数组。
$aidPay->getCurrencies();
结果
[
{
"name": "Aidcoin",
"code": "AID",
"daiRate": "0.0459845847"
},
{
"name": "Attention Token",
"code": "BAT",
"daiRate": "0.1553115365"
},
{
"name": "Blackcoin",
"code": "BC",
"daiRate": "0.0639980109"
},
{
"name": "Bitcoin",
"code": "BTC",
"daiRate": "6153.6548980605"
},
{
"name": "Dash",
"code": "DASH",
"daiRate": "159.9950888861"
},
{
"name": "Decred",
"code": "DCR",
"daiRate": "37.8817317255"
},
{
"name": "Dogecoin",
"code": "DOGE",
"daiRate": "0.0049602187"
},
{
"name": "Enjincoin",
"code": "ENJ",
"daiRate": "0.0461524117"
},
{
"name": "Essentia",
"code": "ESS",
"daiRate": "0.0021755345"
},
{
"name": "Ethereum",
"code": "ETH",
"daiRate": "196.2888531824"
},
{
"name": "Gamecredits",
"code": "GAME",
"daiRate": "0.1615949776"
},
{
"name": "Gridcoin",
"code": "GRC",
"daiRate": "0.0106458229"
},
{
"name": "Groestlcoin",
"code": "GRS",
"daiRate": "0.5194300099"
},
{
"name": "Litecoin",
"code": "LTC",
"daiRate": "50.6322725012"
},
{
"name": "Pivx",
"code": "PIVX",
"daiRate": "1.1255034808"
},
{
"name": "Power Ledger",
"code": "POWR",
"daiRate": "0.1737176777"
},
{
"name": "Peercoin",
"code": "PPC",
"daiRate": "0.8839109895"
},
{
"name": "Augur",
"code": "REP",
"daiRate": "11.7099129786"
},
{
"name": "Syscoin",
"code": "SYS",
"daiRate": "0.0851665837"
},
{
"name": "BLOCKv",
"code": "VEE",
"daiRate": "0.0089843361"
},
{
"name": "Vertcoin",
"code": "VTC",
"daiRate": "0.6460106911"
},
{
"name": "Zcash",
"code": "ZEC",
"daiRate": "110.0055656389"
},
{
"name": "0x",
"code": "ZRX",
"daiRate": "0.6442757334"
}
]
getLimits
描述
- 返回要交换的代币的最小和最大金额,分别在DAI和所选货币中。
参数
- fromCurrency: 用于启动交易的货币
$aidPay->getLimits('BTC');
结果
{
"DAI": {
"min": "4.5",
"max": "6299.05278899"
},
"BTC": {
"min": "0.000731227272727",
"max": "1.02356426481"
},
"USD": {
"min": "0.226368",
"max": "316.867551497"
},
"EUR": {
"min": "0.1956285",
"max": "273.838721896"
},
"GBP": {
"min": "0.17145",
"max": "239.993911261"
}
}
createDonation
::: 警告 仅适用于非营利账户 ::
描述
- 创建捐赠。
参数
- orderId: 顾客的参考(即他的渐进式订单ID)。将在通知中发送作为参考
- fromCurrency: 用于启动交易的货币
- invoicedAmount: 要转换的金额(在"fromCurrency"中)
- email: 您的顾客通知电子邮件
- itemId: 要发送资金的慈善机构的物品ID
- refundAddress: 可选地址,兼容"fromCurrency",在区块链出现问题时代收退款
- return: 将用于将您的买家重定向回您网站的返回URL
$aidPay->createDonation( 'O-12345', 'BTC', '0.1', 'example@aidcoin.co', '1', '1Nv92z71iinNVPncrDm4RPHyo17S9bEVPG', 'https://your.client/return/url' );
结果
{
"uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"orderId": "O-12345",
"status": "WAITING_FOR_DEPOSIT",
"paymentStatus": "PENDING",
"email": "example@aidcoin.co",
"depositAddress": "1HfL94JWjmmjroyAHTDhRQqUwZ7PR4JoUZ",
"destination": "0x4Aa0f67D9A0666b9Dd0Ee6d397334903AE337e1E",
"exchangeRate": "6138.0122760247",
"fromCurrency": "BTC",
"toCurrency": "DAI",
"invoicedAmount": "0.1",
"orderedAmount": "612.3012276",
"hash": null,
"refundAddress": "1Nv92z71iinNVPncrDm4RPHyo17S9bEVPG",
"createdAt": "2018-10-11T11:56:57+02:00",
"expireDate": "2018-10-11T12:16:56+02:00",
"chargedFee": "1.5",
"orderLink": "https://www.aidchain.co/aidpay/payment/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee?return=https%3A//your.client/return/url"
}
必须在20分钟内将invoicedAmount发送到depositAddress(由您的用户或通过您的系统)。
如果您想使用AidPay界面,请将您的用户重定向到orderLink。
createOrder
::: 警告 仅适用于商户账户 ::
描述
- 创建订单。
参数
- orderId: 顾客的参考(即他的渐进式订单ID)。将在通知中发送作为参考
- fromCurrency: 用于启动交易的货币
- fromFiat: 要开始转换的FIAT货币
- fiatAmount: 要转换的金额(在"fromFiat"中)
- email: 您的顾客通知电子邮件
- refundAddress: 可选地址,兼容"fromCurrency",在区块链出现问题时代收退款
- return: 将用于将您的买家重定向回您网站的返回URL
$aidPay->createOrder( 'O-12345', 'BTC', 'USD', '1000', 'example@aidcoin.co', '1Nv92z71iinNVPncrDm4RPHyo17S9bEVPG', 'https://your.client/return/url' );
结果
{
"uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"orderId": "O-12345",
"status": "WAITING_FOR_DEPOSIT",
"paymentStatus": "PENDING",
"email": "example@aidcoin.co",
"depositAddress": "1HfL94JWjmmjroyAHTDhRQqUwZ7PR4JoUZ",
"destination": "0x4Aa0f67D9A0666b9Dd0Ee6d397334903AE337e1E",
"exchangeRate": "6197.5710529613",
"fromCurrency": "BTC",
"toCurrency": "DAI",
"invoicedAmount": "0.163838",
"orderedAmount": "1000.3971577",
"hash": null,
"refundAddress": "1Nv92z71iinNVPncrDm4RPHyo17S9bEVPG",
"createdAt": "2018-10-11T11:56:57+02:00",
"expireDate": "2018-10-11T12:16:56+02:00",
"chargedFee": "1.5",
"orderLink": "https://www.aidchain.co/aidpay/payment/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee?return=https%3A//your.client/return/url"
}
必须在20分钟内将invoicedAmount发送到depositAddress(由您的用户或通过您的系统)。
如果您想使用AidPay界面,请将您的用户重定向到orderLink。
getStatus
描述
- 返回给定uuid的支付状态。
参数
- uuid: 要搜索的支付的唯一ID
::: 警告 状态可能是
- WAITING_FOR_DEPOSIT
- DEPOSIT_RECEIVED
- DEPOSIT_CONFIRMED
- EXECUTED
- NEEDS_REFUND
- REFUNDED
- CANCELED
- EXPIRED
PaymentStatus可能是
- PENDING
- UNDERPAY_RECEIVED
- UNDERPAY_CONFIRMED
- PAYMENT_RECEIVED
- PAYMENT_CONFIRMED
- OVERPAY_RECEIVED
- OVERPAY_CONFIRMED ::
$aidPay->getStatus('aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee');
结果
{
"uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"orderId": "O-12345",
"status": "WAITING_FOR_DEPOSIT",
"paymentStatus": "PENDING",
"email": "example@aidcoin.co",
"depositAddress": "1HfL94JWjmmjroyAHTDhRQqUwZ7PR4JoUZ",
"destination": "0x4Aa0f67D9A0666b9Dd0Ee6d397334903AE337e1E",
"exchangeRate": "64625.850340136300000000",
"fromCurrency": "BTC",
"toCurrency": "DAI",
"invoicedAmount": "0.1",
"orderedAmount": "616.97941526",
"hash": null,
"refundAddress": "1Nv92z71iinNVPncrDm4RPHyo17S9bEVPG",
"createdAt": "2018-10-11T11:56:57+02:00",
"expireDate": "2018-10-11T12:16:56+02:00",
"chargedFee": "1.5"
}
getOrders
描述
- 返回客户的订单列表。
参数
- 包含限制(默认12)、偏移量(默认0)和可选的过滤器['状态']的数组
$aidPay->getOrders(['limit' => 2, 'offset' => 0, 'filters' => ['status' => 'WAITING_FOR_DEPOSIT']]);
结果
{
"data": [
{
"uuid": "ffffffff-gggg-hhhh-iiii-llllllllllll",
"orderId": "O-67890",
"status": "WAITING_FOR_DEPOSIT",
"paymentStatus": "PENDING",
"email": "example@aidcoin.co",
"depositAddress": "1HfL94JWjmmjroyAHTDhRQqUwZ7PR4JoUZ",
"destination": "0x4Aa0f67D9A0666b9Dd0Ee6d397334903AE337e1E",
"exchangeRate": "6138.0122760247",
"fromCurrency": "BTC",
"toCurrency": "DAI",
"invoicedAmount": "0.1",
"orderedAmount": "612.3012276",
"hash": null,
"refundAddress": "1Nv92z71iinNVPncrDm4RPHyo17S9bEVPG",
"createdAt": "2018-10-11T11:56:57+02:00",
"expireDate": "2018-10-11T12:16:56+02:00",
"chargedFee": "1.5"
},
{
"uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"orderId": "O-12345",
"status": "WAITING_FOR_DEPOSIT",
"paymentStatus": "PENDING",
"email": "example@aidcoin.co",
"depositAddress": "1HfL94JWjmmjroyAHTDhRQqUwZ7PR4JoUZ",
"destination": "0x4Aa0f67D9A0666b9Dd0Ee6d397334903AE337e1E",
"exchangeRate": "6138.0122760247",
"fromCurrency": "BTC",
"toCurrency": "DAI",
"invoicedAmount": "0.1",
"orderedAmount": "612.3012276",
"hash": null,
"refundAddress": "1Nv92z71iinNVPncrDm4RPHyo17S9bEVPG",
"createdAt": "2018-10-11T11:56:57+02:00",
"expireDate": "2018-10-11T12:16:56+02:00",
"chargedFee": "1.5"
}
],
"count": 23,
"pagination": {
"page": 1,
"pages": 12,
"next": "/api/v1/aidpay/payments/charities?limit=2&offset=2",
"prev": null
}
}
deletePayment
描述
- 删除给定uuid的支付。
参数
- uuid: 要搜索的支付的唯一ID
$aidPay->cancelPayment('aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee');
结果
{
"uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"orderId": "O-12345",
"status": "CANCELED",
"paymentStatus": "PENDING",
"email": "example@aidcoin.co",
"depositAddress": "1HfL94JWjmmjroyAHTDhRQqUwZ7PR4JoUZ",
"destination": "0x4Aa0f67D9A0666b9Dd0Ee6d397334903AE337e1E",
"exchangeRate": "6138.0122760247",
"fromCurrency": "BTC",
"toCurrency": "DAI",
"invoicedAmount": "0.1",
"orderedAmount": "612.3012276",
"hash": null,
"refundAddress": "1Nv92z71iinNVPncrDm4RPHyo17S9bEVPG",
"createdAt": "2018-10-11T11:56:57+02:00",
"expireDate": "2018-10-11T12:16:56+02:00",
"chargedFee": "1.5"
}
接收呼叫
当您的支付已EXECUTED时,您将在设置过程中提供的return_url上收到POST。
您应该使用您的API密钥对呼叫正文进行签名,然后检查它是否与提供的HEADERS中的签名匹配。
::: 警告 这是一种服务器到服务器的http调用。 ::
curl -X POST \ https://your-provided-return-url \ -H 'Content-Type: application/json' \ -H 'sign: <signed message from body below>' \ -d '{ "uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "orderId": "O-12345", "status": "EXECUTED", "paymentStatus": "PAYMENT_CONFIRMED", "email": "example@aidcoin.co", "depositAddress": "1HfL94JWjmmjroyAHTDhRQqUwZ7PR4JoUZ", "destination": "0x4Aa0f67D9A0666b9Dd0Ee6d397334903AE337e1E", "exchangeRate": "6138.0122760247", "fromCurrency": "BTC", "toCurrency": "DAI", "invoicedAmount": "0.1", "orderedAmount": "612.3012276", "hash": "0xc28b0..........ac11", "refundAddress": "1Nv92z71iinNVPncrDm4RPHyo17S9bEVPG", "createdAt": "2018-10-11T11:56:57+02:00", "expireDate": "2018-10-11T12:16:56+02:00", "chargedFee": "1.5" }'
$headers = getallheaders(); $body = json_decode(file_get_contents('php://input'), true); if ($aidPay->isValidSignature($headers['sign'], $body)) { // Do stuff (i.e. set your payment as paid). Your payment has been executed. } else { // Discard. This is not a valid call. }
许可证
代码在MIT许可证下发布。