jhernandes/ipag-webservice-1.0-php

用于PHP的iPag webservice 1.0集成包

v1.4.1 2018-03-06 12:46 UTC

This package is auto-updated.

Last update: 2024-09-16 08:02:54 UTC


README

#此SDK已弃用!请访问: iPag SDK PHP

IPAG SDK PHP

PHP与iPag 1.0 Webservice的集成

依赖关系

  • PHP >= 5.4

安装

如果已经有一个composer.json文件,只需将以下依赖项添加到您的项目中

"require": {
    "jhernandes/ipag-webservice-1.0-php"
}

添加依赖项到composer.json后,只需执行

composer install

或者,您可以直接在终端中执行

composer require jhernandes/ipag-webservice-1.0-php

##端点

操作

支付方法

字段映射

<?php
$ipag = new Ipag(@ID_IPAG, @ENDPOINT);

$order =    $ipag->order(@OPERACAO, @URL_RETORNO, @NUMERO_PEDIDO, @VALOR, @PARCELAMENTO);

//Para adicionar vencimento (BOLETO)
// DD/MM/AAAA
//$order->setExpiry('21/10/2017');

$card =     $ipag->card(@NUMERO_CARTAO, @NOME_NO_CARTAO, @VENCIMENTO_MES, @VENCIMENTO_ANO, @CVV);
$payment =  $ipag->payment(@METODO, $card);
$customer = $ipag->customer(@NOME, @EMAIL, @CPF/CNPJ, @TELEFONE);
$address =  $ipag->address(@LOGRADOURO, @NUMERO, @BAIRRO, @COMPLEMENTO, @CEP, @CIDADE, @UF, @PAIS);
$cart = $ipag->cart()->addProduct($ipag->product(@NOME, @QUANTIDADE, @PRECO_UNITARIO, @SKU/CODIGO));
$customer->setAddress($address);
$tx = $ipag->transaction($order, $payment, $customer, $cart);

使用信用卡的交易示例(支付请求)

<?php

require 'vendor/autoload.php';

use Ipag\Ipag;
use Ipag\Order;
use Ipag\Payment;
use Ipag\Transaction;

$ipag = new Ipag('seu_id_ipag', Ipag::TEST);

$order =    $ipag->order(Order::OPERATION_PAYMENT, 'http://minhaurl.dev','20161109003', 1.00, '1');
$card =     $ipag->card('4556657802832607', 'SENHOR TESTE', '10', '21', '123');
$payment =  $ipag->payment(Payment::CREDIT_VISA, $card);
$customer = $ipag->customer('SENHOR TESTE', 'senhor@teste.com.br', '12312312333','1839161627');

//OPCIONAL ENDEREÇO
$address =  $ipag->address('Rua Teste', '123', 'Bairro Teste', '', '20000-000', 'São Paulo', 'SP', 'BR');
$customer->setAddress($address);

//OPCIONAL PRODUTOS
// PRODUTO (NOME, QUANTIDADE, PREÇO UNITÁRIO, SKU/CÓDIGO);
$cart = $ipag->cart()
    ->addProduct($ipag->product('DVD Rei Leão', 2, 29.00, 'ART785634'))
    ->addProduct($ipag->product('DVD MAD MAX', 1, 29.00, 'ART7851234'))
    ->addProduct($ipag->product('BOX DVDs MATRIX', 3, 29.00, 'ART781000'))
    ->addProduct($ipag->product('DVD TOY STORY', 1, 29.00, 'ART783333'));

$tx = $ipag->transaction($order, $payment, $customer, $cart);

$response = $ipag->paymentRequest($tx);

if (!$response->hasError()) {
    var_dump(print_r($response, true));
    exit;
}
echo $response->getErrorMessage();
exit;

使用支票的交易示例(支付请求)

<?php

require 'vendor/autoload.php';

use Ipag\Ipag;
use Ipag\Order;
use Ipag\Payment;
use Ipag\Transaction;

$ipag = new Ipag('seu_id_ipag', Ipag::TEST);

$order = $ipag->order(Order::OPERATION_PAYMENT, 'http://minhaurl.dev','20161109003', 1.00, '1');

//Para adicionar vencimento (BOLETO)
// DD/MM/AAAA
//$order->setExpiry('21/10/2017');

$payment = $ipag->payment(Payment::BANKSLIP_BB);
$customer = $ipag->customer('SENHOR TESTE', 'senhor@teste.com.br', '12312312333','1839161627');
$address =  $ipag->address('Rua Teste', '123', 'Bairro Teste', '', '20000-000', 'São Paulo', 'SP', 'BR');
$customer->setAddress($address);

$tx = $ipag->transaction($order, $payment, $customer);

$response = $ipag->paymentRequest($tx);

if (!$response->hasError()) {
    var_dump(print_r($response, true));
    exit;
}
echo $response->getErrorMessage();
exit;

如果成功,支票链接将在 $response->getUrlAuthentication() 中

查询交易示例(查询请求)

<?php

require 'vendor/autoload.php';

use Ipag\Ipag;
use Ipag\Order;
use Ipag\Payment;
use Ipag\Transaction;

$ipag = new Ipag('seu_id_ipag', Ipag::TEST);

$order = $ipag->order(Order::OPERATION_CONSULT, 'http://minhaurl.dev');
//Caso não tenha o TID e tenha o OrderId (Número do pedido)
// $order = $ipag->order(Order::OPERATION_CONSULT, 'http://minhaurl.dev', '20161109003');

$tx = $ipag->transaction($order);
$tx->setTid('100699306900087B7BDA');

$response = $ipag->consultRequest($tx);

if (!$response->hasError()) {
    var_dump(print_r($response, true));
    exit;
}
echo $response->getErrorMessage();
exit;

捕获交易示例(捕获请求)

<?php

require 'vendor/autoload.php';

use Ipag\Ipag;
use Ipag\Order;
use Ipag\Payment;
use Ipag\Transaction;

$ipag = new Ipag('seu_id_ipag', Ipag::TEST);

$order = $ipag->order(Order::OPERATION_CAPTURE, 'http://minhaurl.dev');

$tx = $ipag->transaction($order);
//Para capturar é necessário ter um TID
$tx->setTid('100699306900087B7BDA');

$response = $ipag->captureRequest($tx);

if (!$response->hasError()) {
    var_dump(print_r($response, true));
    exit;
}
echo $response->getErrorMessage();
exit;

取消交易示例(取消请求)

<?php

require 'vendor/autoload.php';

use Ipag\Ipag;
use Ipag\Order;
use Ipag\Payment;
use Ipag\Transaction;

$ipag = new Ipag('seu_id_ipag', Ipag::TEST);

$order = $ipag->order(Order::OPERATION_CANCEL, 'http://minhaurl.dev');

$tx = $ipag->transaction($order);
//Para cancelar é necessário informar o TID
$tx->setTid('100699306900087B7BDA');

$response = $ipag->cancelRequest($tx);

if (!$response->hasError()) {
    var_dump(print_r($response, true));
    exit;
}
echo $response->getErrorMessage();
exit;

订阅交易示例(新功能)

<?php

require 'vendor/autoload.php';

use Ipag\Ipag;
use Ipag\Order;
use Ipag\Payment;
use Ipag\Subscription;
use Ipag\Transaction;

$ipag = new Ipag('meu_id_ipag', Ipag::TEST);

$order    = $ipag->order(Order::OPERATION_PAYMENT, 'http://minhaurl.dev','201700001', 2.00, '1');
$card     = $ipag->card('4556657802832607', 'SENHOR TESTE', '10', '21', '123');
$payment  = $ipag->payment(Payment::CREDIT_VISA, $card);
$customer = $ipag
                ->customer('SENHOR TESTE', 'senhor@teste.com.br', '12312312333','1839161627')
                ->setAddress(
                    $ipag->address(
                        'Rua Teste', '123', 'Bairro Teste', '', '20000-000', 'São Paulo', 'SP', 'BR'
                    )
                );

$tx = $ipag
        ->transaction($order, $payment, $customer)
        ->setSubscription(
            $ipag
                //Assinatura mensal com inicio em 5 de janeiro de 2017
                ->subscription(Subscription::INTERVAL_MONTH,1,'05/01/2017')
                //Valor que será cobrado na assinatura após o período trial (promocional)
                ->setAmount(2.00)
                //Período trial mensal
                ->setTrialFrequency(1)
                ->setTrialCycle(3)
                //Valor que será cobrado no período trial
                ->setTrialAmount(1.20)
                //Primeira cobranca no ato da criação da transação será de R$1,00 apenas autorizado (não irá debitar do cartão de crédito do cliente)
                ->setTrial(true)
        );

$response = $ipag->paymentRequest($tx);

if (!$response->hasError()) {
    var_dump(print_r($response, true));
    exit;
}
echo $response->getErrorMessage();
exit;

使用分割(信用卡)的交易示例(支付请求)

<?php

require 'vendor/autoload.php';

use Ipag\Ipag;
use Ipag\Order;
use Ipag\Payment;
use Ipag\Transaction;

$ipag = new Ipag('seu_id_ipag', Ipag::TEST);
$ipag->setPartner('id_parceiro');

$order =    $ipag->order(Order::OPERATION_PAYMENT, 'http://minhaurl.dev','20161109003', 1.00, '1');
$card =     $ipag->card('4556657802832607', 'SENHOR TESTE', '10', '21', '123');
$payment =  $ipag->payment(Payment::CREDIT_VISA, $card);
$customer = $ipag->customer('SENHOR TESTE', 'senhor@teste.com.br', '12312312333','1839161627');
$address =  $ipag->address('Rua Teste', '123', 'Bairro Teste', '', '20000-000', 'São Paulo', 'SP', 'BR');
$customer->setAddress($address);

$tx = $ipag->transaction($order, $payment, $customer);

$response = $ipag->paymentRequest($tx);

if (!$response->hasError()) {
    var_dump(print_r($response, true));
    exit;
}
echo $response->getErrorMessage();
exit;

使用生成令牌的信用卡的交易示例(一键)

<?php

require 'vendor/autoload.php';

use Ipag\Ipag;
use Ipag\Order;
use Ipag\Payment;
use Ipag\Transaction;

$ipag = new Ipag('seu_id_ipag', Ipag::TEST);

$order =    $ipag->order(Order::OPERATION_PAYMENT, 'http://minhaurl.dev','20161109003', 1.00, '1');
$card =     $ipag->card('4556657802832607', 'SENHOR TESTE', '10', '21', '123');

//Adicione esse parametro para que o token do cartão seja gerado para futuras compras utilizando o token.
$card->setSave(true);

$payment =  $ipag->payment(Payment::CREDIT_VISA, $card);
$customer = $ipag->customer('SENHOR TESTE', 'senhor@teste.com.br', '12312312333','1839161627');
$address =  $ipag->address('Rua Teste', '123', 'Bairro Teste', '', '20000-000', 'São Paulo', 'SP', 'BR');
$customer->setAddress($address);

$tx = $ipag->transaction($order, $payment, $customer);

$response = $ipag->paymentRequest($tx);

if (!$response->hasError()) {
    var_dump(print_r($response, true));
    exit;
}
echo $response->getErrorMessage();
exit;

使用令牌的交易示例(一键支付)

<?php

require 'vendor/autoload.php';

use Ipag\Ipag;
use Ipag\Order;
use Ipag\Payment;
use Ipag\Transaction;

$ipag = new Ipag('seu_id_ipag', Ipag::TEST);

$order =    $ipag->order(Order::OPERATION_PAYMENT, 'http://minhaurl.dev','20161109003', 1.00, '1');
$card =     $ipag->card('KLJKLA-KUYAT-EBAST-YPLGV');

$payment =  $ipag->payment(Payment::CREDIT_VISA, $card);
$customer = $ipag->customer('SENHOR TESTE', 'senhor@teste.com.br', '12312312333','1839161627');
$address =  $ipag->address('Rua Teste', '123', 'Bairro Teste', '', '20000-000', 'São Paulo', 'SP', 'BR');
$customer->setAddress($address);

$tx = $ipag->transaction($order, $payment, $customer);

$response = $ipag->paymentRequest($tx);

if (!$response->hasError()) {
    var_dump(print_r($response, true));
    exit;
}
echo $response->getErrorMessage();
exit;