brunopazz/adiq-php-gateway

Adiq PHP 库

安装: 29

依赖: 0

建议者: 0

安全: 0

星星: 0

关注者: 0

分支: 3

类型:lib

1.0.1 2021-03-01 19:31 UTC

This package is auto-updated.

Last update: 2024-09-20 02:51:45 UTC


README

Adiq

Gateway Adiq PHP

为简化与 Adiq 支付网关通信而开发的库。

React Native is released under the MIT license. Versão Downloads

简介

该 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);