randler/adiq-php

Adiq PHP库

安装数: 3,031

依赖者: 0

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 3

公开问题: 1

类型:lib

1.0.1 2021-03-01 19:31 UTC

This package is auto-updated.

Last update: 2024-09-27 19:24:44 UTC


README

Adiq

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对象中,可以通过其特定方法进行查看。此对象可用于请求,无需保存令牌,或重新发送或重新构建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);