Especialmente para ? Zorra Telecom y Evenyone más
Asistencia: en este momento el número de métodos es muy limitado, se agregarán más tarde si Qiwi Doce no hace una alternativa normal ... Atención: en este momento, el número de métodos será muy limitado, se agregarán más adelante si se agregan más adelante si QIWI no hará una alternativa normal ...
La solicitud crea una cuenta de pago.
PUT /payin/v1/sites/{siteId}/bills/{billId}
La solicitud está destinada a recibir detalles de pago. En una respuesta exitosa, se produce una lista de datos en la cuenta y sus pagos con el Billid solicitado.
GET /payin/v1/sites/{siteId}/bills/{billId}/details
Obtener una lista de pagos en la cuenta
GET /payin/v1/sites/{siteId}/bills/{billId}
Puede usar: estado de la cuenta
La solicitud crea una transacción de pago.
PUT /payin/v1/sites/{siteId}/payments/{paymentId}
Hasta que fue útil
Obtenga información sobre la transacción de pago.
GET /payin/v1/sites/{siteId}/payments/{paymentId}
Hasta que fue útil
Puede usar: estado de la cuenta
Después de someterse a una autenticación adicional con éxito, TSP debe enviar una solicitud con los parámetros con el tipo de autenticación adicional correspondiente para completar la auditoría.
POST /payin/v1/sites/{siteId}/payments/{paymentId}/complete
Hasta que fue útil
Confirma el pago después de mantener fondos. Si se usa un escenario de dos pasos, entonces el comerciante debe enviar esta solicitud después de la autorización del pago.
PUT /payin/v1/sites/{siteId}/payments/{paymentId}/captures/{captureId}
Hasta que fue útil
Describe el estado de la confirmación especificada del pago.
GET /payin/v1/sites/{siteId}/payments/{paymentId}/captures/{captureId}
Hasta que fue útil
La solicitud está destinada a devolver los fondos en el pago final. TSP puede cumplir varias solicitudes para devolver cantidades parciales.
PUT /payin/v1/sites/{siteId}/payments/{paymentId}/refunds/{refundId}
Hasta que fue útil
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 en el contenedorphpunit.xml.dist a phpunit.xml para su funcionamiento./vendor/bin/phpunit La licencia del MIT. Consulte el archivo de licencia para obtener más información.