brunopazz / adiq-php-gateway
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
Gateway 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
对象中,可以使用其特定方法进行查看。该对象可用于请求,无需保存令牌,或重新发送或重新构造头信息。
令牌化请求
本节将解释如何使用该库进行 Adiq 卡片的请求。
卡片令牌
<?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);