randler / adiq-php
Adiq PHP库
1.0.1
2021-03-01 19:31 UTC
Requires
- php: >=5.6.0
- guzzlehttp/guzzle: ^6.4
Requires (Dev)
- phpunit/phpunit: ^8
- squizlabs/php_codesniffer: ^3.3
README
Adiq PHP网关
一个用于简化与Adiq支付网关通信的库。
简介
这个SDK的目的是使支付方法的调用更加灵活,以便所有用户都能使用所有API版本的所有功能。
您可以通过访问此链接来查看API的官方文档。
目录
安装
使用以下命令安装库
composer require randler/adiq-php
配置
要将库包含到您的项目中,请执行以下操作
<?php require('vendor/autoload.php'); $adiq = new Adiq\Client();
认证请求
本节将解释如何在Adiq中进行授权请求。
请求访问令牌
<?php $optionRequestAuth = [ "grantType" => "client_credentials", ]; $sandbox = true; $key = new Key(); $key->setClientId("<CLIENT_ID>"); $key->setClientSecret("<CLIENT_SECRET>"); $client = new Client( ['Authorization' => $key->getKeyBase64()], $sandbox ); $client->auth()->token($optionRequestAuth);
如果密钥正确,访问数据将被存储在$client
对象中,可以通过其特定方法进行查看。此对象可用于请求,无需保存令牌,或重新发送或重新构建header。
令牌化请求
本节将解释如何使用此库进行Adiq pelok卡请求。
卡令牌
<?php $cardInfo = new CustomerCard(); $cardInfo->setCardNumber("5201561050025011"); $data_card = $cardInfo->getCardNumberData(); $response = $client->card()->create($data_card); ?>
卡保险箱
在获得上一次请求中的numberToken后,现在可以存储卡片数据。
<?php $numberToken = $response->numberToken; $cardInfo->setNumberToken($numberToken) ->setBrand("visa") ->setCardholderName("JOSE SILVA") ->setExpirationMonth("01") ->setExpirationYear("19") ->setVerifyCard(true) ->setSecurityCode("123"); $data_card = $cardInfo->getCardData(); $response = $client->card()->vaults($data_card); ?>
交易请求
使用已存储accessToken的$client
请求可以发起交易请求。
创建交易
// Requisição de token funcionando $client->auth()->token($optionRequestAuth); $payment = new PaymentData(); $payment->setTransactionType("credit") ->setAmount(1035) ->setCurrencyCode("brl") ->setProductType("avista") ->setInstallments(1) ->setCaptureType("ac") ->setRecurrent(false); $cardInfo = new CustomerCard(); $cardInfo->setVaultId("19e0c891-ff29-41a5-bc88-c4f253c7c2f5") ->setNumberToken("39c6426b-3160-41d2-9cbd-55b32410fe90") ->setCardholderName("JOSE SILVA") ->setSecurityCode("123") ->setBrand("visa") ->setExpirationMonth("01") ->setExpirationYear("19"); $sellerInfo = new SellerInfo(); $sellerInfo->setOrderNumber("00100000001"); /*->setSoftDescriptor("PAG*TESTE") ->setDynamicMcc("9999") ->setCavvUcaf("commerceauth") ->setEci("05") ->setXid("commerc") ->setProgramProtocol("2.0.1");*/ // Items de Sellers $item1 = new Items(); $item1->setId("P115DU90") ->setDescription("Produto 1") ->setAmount(345) ->setRatePercent(0) ->setRateAmount(0); $item2 = new Items(); $item2->setId("P115DU91") ->setDescription("Produto 2") ->setAmount(345) ->setRatePercent(0) ->setRateAmount(0); $item3 = new Items(); $item3->setId("P115DU92") ->setDescription("Produto 3") ->setAmount(345) ->setRatePercent(0) ->setRateAmount(0); $sellers1 = new Sellers(); $sellers1->setId("000A1") ->setAmount(690) ->setItems([ $item1->getItemsData(), $item2->getItemsData() ]); $sellers2 = new Sellers(); $sellers2->setId("00B1") ->setAmount(345) ->setItems([$item3->getItemsData()]); $sellers = new Sellers(); $sellers->addSellers($sellers1); $sellers->addSellers($sellers2); $data_request = [ 'payment' => $payment->getPaymentData(), 'cardInfo' => $cardInfo->getCardData(), 'sellerInfo' => $sellerInfo->getSellerInfoData(), //'sellers' => $sellers->getSellersData() // - opcional ]; $response = $client->payment()->create($data_request);
交易详情
$detail = $client ->payment() ->details([ 'id' => "020001409102281247420000012620420000000000" ]);
取消交易
$cancel = $client ->payment() ->cancel([ 'id' => '010001410902281258440000012620480000000000' ]);
捕获交易
$data_request = [ 'id' => '010001410902281258440000012620480000000000', 'amount' => 1035, //'sellers' => $sellers->getSellersData() ]; $capture = $client ->payment() ->capture($data_request);
市场请求
解锁
$item1 = new Items(); $item1->setId("P115DU90") ->setAmount(345); $sellers1->setId("000A1") ->setAmount(345) ->setItems( $item1->getItemsMarketplaceData() ); $data_request = [ 'id' => '010001410902281258440000012620480000000000', "sellerId" => $sellers1->getId(), "amount" => $sellers1->getAmount(), "date" => date("Y-m-d"), "item" => $sellers1->getItems() ]; $marketplace = $client ->marketplace() ->unlock($data_request);
更新
$item1 = new Items(); $item1->setId("P115DU90") ->setAmount(345); $sellers1->setId("000A1") ->setAmount(345) ->setItems( $item1->getItemsMarketplaceData() ); $data_request = [ 'id' => '010001410902281258440000012620480000000000', "sellerId" => $sellers1->getId(), "amount" => $sellers1->getAmount(), "date" => date("Y-m-d"), "previousDate" => "2019-11-13", "item" => $sellers1->getItems() ]; $marketplace = $client ->marketplace() ->update($data_request);