qiwi php client
v0.1.1
特別是? Zorra電信和其他
參加:目前方法的數量非常有限,如果Qiwi doce不提供正常替代方案,則將在以後添加它們。
請求創建一個付款帳戶。
PUT /payin/v1/sites/{siteId}/bills/{billId}
該請求旨在接收付款詳細信息。在成功的答案中,該帳戶的數據及其與請求的Billid的付款列表。
GET /payin/v1/sites/{siteId}/bills/{billId}/details
獲取帳戶付款清單
GET /payin/v1/sites/{siteId}/bills/{billId}
您可以使用:帳戶狀態
該請求創建付款交易。
PUT /payin/v1/sites/{siteId}/payments/{paymentId}
直到派上用場
獲取有關付款交易的信息。
GET /payin/v1/sites/{siteId}/payments/{paymentId}
直到派上用場
您可以使用:帳戶狀態
成功進行了其他身份驗證後,TSP必鬚髮送帶有參數的請求,該參數具有相應的其他身份驗證,以完成審核。
POST /payin/v1/sites/{siteId}/payments/{paymentId}/complete
直到派上用場
持有資金後確認付款。如果使用了兩個步驟,則商人需要在付款授權後發送此請求。
PUT /payin/v1/sites/{siteId}/payments/{paymentId}/captures/{captureId}
直到派上用場
描述指定付款確認的狀態。
GET /payin/v1/sites/{siteId}/payments/{paymentId}/captures/{captureId}
直到派上用場
該請求旨在退還最終付款的資金。 TSP可以滿足返回部分金額的幾個請求。
PUT /payin/v1/sites/{siteId}/payments/{paymentId}/refunds/{refundId}
直到派上用場
composer require terentev-space/qiwi-php-client // Factories
$ configFactory = new QiwiClient Factories ConfigFactory ();
$ clientFactory = new QiwiClient Factories ClientFactory ();
// Make Config
$ config = $ configFactory -> make (
' siteId ' ,
' token ' ,
' publicKey ' // optional
);
/* OR */
$ config = new QiwiClient Entities ClientConfig (
' siteId ' ,
' publicKey ' ,
' token '
);
// Make Client
$ client = $ clientFactory -> make (
' siteId ' ,
' token ' ,
' publicKey ' // optional
);
/* OR */
$ client = Qiwi:: client (
' siteId ' ,
' token '
);
/* OR */
$ client = new QiwiClient Client (
$ config ,
new GuzzleHttp Client (),
new Psr Log NullLogger ()
); $ billId = ' ... ' ;
$ amount = 1.01 ;
/* OR */
$ amount = 1.019 ; // = 1.01
$ currency = Qiwi:: CURRENCY_RUB ;
/* OR */
$ currency = ' RUB ' ;
$ expiration = null ; // +1 day
/* OR */
$ expiration = ' 2022-01-01T00:00:00+00:00 ' ;
/* OR */
$ expiration = new DateTime ();
/* OR */
$ expiration = $ datetime -> format ( QiwiClient Qiwi:: DATETIME_FORMAT );
$ flags = [
QiwiClient Qiwi:: FLAG_SALE , // optional
QiwiClient Qiwi:: FLAG_BIND_PAYMENT_TOKEN , // optional
];
$ account = ' string(64) - id ' ;
$ email = ' string(64) or null - email ' ;
$ phone = ' string(15) or null - phone ' ;
$ country = ' string(1000) or null ' ;
$ city = ' string(1000) or null ' ;
$ region = ' string(1000) or null ' ;
$ details = ' string(1000) or null ' ;
$ pan = ' string(19) or null ' ;
$ wallet = ' string(64) or null ' ;
$ inn = ' string(12) or null ' ;
$ phone = ' string(15) or null ' ;
$ bankAccount = ' string(20) or null ' ;
$ bic = ' string(9) or null ' ;
$ cf1 = ' string(256) or null ' ;
$ cf2 = ' string(256) or null ' ;
$ cf3 = ' string(256) or null ' ;
$ cf4 = ' string(256) or null ' ;
$ cf5 = ' string(256) or null ' ;
$ merchantThemeCode = ' string(256) or null ' ;
$ merchantContractId = ' string(256) or null ' ;
$ merchantBookingNumber = ' string(256) or null ' ;
$ merchantPhone = ' string(256) or null ' ;
$ merchantFullName = ' string(256) or null ' ;
$ invoiceCallbackUrl = ' string(256) or null ' ;
/** @var array $cheque Данные чека для операции. */
$ cheque = [ /* ... */ ];
$ request = PaySiteBillQuery:: make ( $ billId , $ amount , $ currency )
-> setExpirationDateTime ( $ expiration ) // optional
-> setFlags (... $ flags ) // optional
-> setCustomer (
$ account ,
$ email , // optional
$ phone // optional
) // optional
-> setAddress (
$ country , // optional
$ city , // optional
$ region , // optional
$ details // optional
) // optional
-> setReceiverData (
$ pan , // optional
$ wallet , // optional
$ inn , // optional
$ phone , // optional
$ bankAccount , // optional
$ bic // optional
) // optional
-> setCustomFields (
$ cf1 , // optional
$ cf2 , // optional
$ cf3 , // optional
$ cf4 , // optional
$ cf5 , // optional
$ merchantThemeCode , // optional
$ merchantContractId , // optional
$ merchantBookingNumber , // optional
$ merchantPhone , // optional
$ merchantFullName , // optional
$ invoiceCallbackUrl // optional
) // optional
-> setCheque ( $ cheque )
;
/* OR */
$ request = [
' billId ' => $ billId ,
' amount ' => [
' value ' => $ amount ,
' currency ' => $ currency ,
],
' expirationDateTime ' => $ expiration ,
' flags ' => $ flags ,
' customer ' => [
' account ' => $ account ,
' email ' => $ email ,
' phone ' => $ phone ,
],
' address ' => [
' country ' => $ country ,
' city ' => $ city ,
' region ' => $ region ,
' details ' => $ details ,
],
' receiverData ' => [
' pan ' => $ pan ,
' wallet ' => $ wallet ,
' inn ' => $ inn ,
' phone ' => $ phone ,
' bankAccount ' => $ bankAccount ,
' bic ' => $ bic ,
],
' customFields ' => [
' cf1 ' => $ cf1 ,
' cf2 ' => $ cf2 ,
' cf3 ' => $ cf3 ,
' cf4 ' => $ cf4 ,
' cf5 ' => $ cf5 ,
' merchantThemeCode ' => $ merchantThemeCode ,
' merchantContractId ' => $ merchantContractId ,
' merchantBookingNumber ' => $ merchantBookingNumber ,
' merchantPhone ' => $ merchantPhone ,
' merchantFullName ' => $ merchantFullName ,
' invoiceCallbackUrl ' => $ invoiceCallbackUrl ,
],
' cheque ' => $ cheque ,
];
$ response = $ client -> paySiteBill ( $ request );
$ response -> getCode (); // Response code 200
$ response -> getBody (); // Response data array
/** @var QiwiClientEntitiesResultsPaySiteBillResult $data */
$ data = $ response -> parseData ();
// ...
$ billId = $ data -> getBillId ();
// 1.01
$ amount = $ data -> getAmountValue ();
// RUB
$ currency = $ data -> getAmountCurrency ();
// 2000-00-00T00:00:00+00:00
$ exp = $ data -> getExpirationDateTime ();
// 00000000-0000-0000-0000-000000000000
$ invoice = $ data -> getInvoiceUid ();
// CREATED
$ status = $ data -> getStatusValue ();
// 2000-00-00T00:00:00+00:00
$ statusChanged = $ data -> getStatusChangedDateTime ();
// https://oplata.qiwi.com/form?invoiceUid=00000000-0000-0000-0000-000000000000
$ url = $ data -> getPayUrl ();
$ response = $ client -> getSiteBillDetails ( ' 1663126085 ' );
$ response -> getCode (); // Response code 200
$ response -> getBody (); // Response data array
/** @var QiwiClientEntitiesResultsGetSiteBillDetailsResult $data */
$ data = $ response -> parseData ();
// ...
$ billId = $ data -> getBillId ();
// 1.01
$ amount = $ data -> getAmountValue ();
// RUB
$ currency = $ data -> getAmountCurrency ();
// CREATED
$ status = $ data -> getStatusValue ();
// 2000-00-00T00:00:00+00:00
$ statusChanged = $ data -> getStatusChangedDateTime ();
/* ... */
// https://oplata.qiwi.com/form?invoiceUid=00000000-0000-0000-0000-000000000000
$ url = $ data -> getPayUrl ();
/** @var QiwiClientEntitiesItemsSiteBillPayment $payment */
$ payment = $ data -> getPayments ()[ 0 ];
// siteId
$ siteId = $ payment -> getSiteId ();
// ...
$ billId = $ payment -> getBillId ();
// 1.01
$ amount = $ payment -> getAmountValue ();
// RUB
$ currency = $ payment -> getAmountCurrency ();
// CREATED
$ status = $ payment -> getStatusValue ();
/* ... */
// []
$ status = $ payment -> getCustomFields ();docker build -t "qiwi-php-client" .docker run -it -v $(pwd):/qiwi-php-client qiwi-php-client bashcomposer install在容器中phpunit.xml.dist文件複製到phpunit.xml以進行操作./vendor/bin/phpunit bin/phpunit 麻省理工學院許可證。請參閱許可證文件以獲取更多信息。