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许可证下发布。