SDK de Consultas
Para integrar com o SDK de Consultas, direcione sua solicitação para as seguintes URLs:
// URL para teste: https://sandbox.api.payulatam.com/payments-api/
PayU.paymentsUrl = “https://api.payulatam.com/payments-api/”;
// URL para teste: https://sandbox.api.payulatam.com/reports-api/
PayU.reportsUrl = “https://api.payulatam.com/reports-api/”;
// URL para teste: https://sandbox.api.payulatam.com/payments-api/4.0/service.cgi
Environment::setPaymentsCustomUrl(“https://api.payulatam.com/payments-api/4.0/service.cgi”);
// URL para teste: https://sandbox.api.payulatam.com/reports-api/4.0/service.cgi
Environment::setReportsCustomUrl(“https://api.payulatam.com/reports-api/4.0/service.cgi”);
Métodos disponíveis
O SDK de Consultas inclui os seguintes métodos:
Consulta por ID da ordem
Order Id é um valor gerado pelo PayU para identificar todas as transações geradas para uma solicitação de pagamento realizada por seu cliente. Você pode usar o comando getOrderDetail
para consultar o status de uma ordem por seu identificador.
Os exemplos a seguir mostram como chamar o método para este tipo de transação de acordo com a linguagem de programação.
Map<String, String> parameters = new HashMap<String, String>();
// Coloque aqui o código de referência da ordem.
parameters.put(PayU.PARAMETERS.ORDER_ID, "857817550");
Order response = PayUReports.getOrderDetail(parameters);
// -- você pode obter as propriedades da ordem --
if(response != null){
response.getAccountId();
response.getStatus();
response.getReferenceCode();
response.getAdditionalValue("TX_VALUE").getValue();
response.getAdditionalValue("TX_TAX").getValue();
if(response.getBuyer() != null){
response.getBuyer().getEmailAddress();
response.getBuyer().getFullName();
}
// -- recorrer as transações que estão associadas á ordem--
List<Transaction> transactions = response.getTransactions();
Iterator<Transaction> transactions_iterator = transactions.iterator();
while(transactions_iterator.hasNext()){
Transaction transaction= (Transaction) transactions_iterator.next();
transaction.getType();
transaction.getTransactionResponse().getState();
transaction.getTransactionResponse().getPaymentNetworkResponseCode();
transaction.getTransactionResponse().getTrazabilityCode();
transaction.getTransactionResponse().getResponseCode();
if(transaction.getPayer() != null){
transaction.getPayer().getFullName();
transaction.getPayer().getEmailAddress();
}
}
}
// Coloque aqui o código de referência da ordem.
$parameters = array(PayUParameters::ORDER_ID => "44469220");
$order = PayUReports::getOrderDetail($parameters);
if ($order) {
$order->accountId;
$order->status;
$order->referenceCode;
$order->additionalValues->TX_VALUE->value;
$order->additionalValues->TX_TAX->value;
if ($order->buyer) {
$order->buyer->emailAddress;
$order->buyer->fullName;
}
$transactions=$order->transactions;
foreach ($transactions as $transaction) {
$transaction->type;
$transaction->transactionResponse->state;
$transaction->transactionResponse->paymentNetworkResponseCode;
$transaction->transactionResponse->trazabilityCode;
$transaction->transactionResponse->responseCode;
if ($transaction->payer) {
$transaction->payer->fullName;
$transaction->payer->emailAddress;
}
}
}
Consulta por ID de transação
Transaction Id é um valor gerado por PayU para identificar uma transação gerada para uma ordem. Você pode usar o comando getTransactionResponse
para consultar as informações de uma determinada transação.
Os exemplos a seguir mostram como chamar o método para este tipo de transação de acordo com a linguagem de programação.
Map<String, String> parameters = new HashMap<String, String>();
// Coloque aqui o identificador da transação.
parameters.put(PayU.PARAMETERS.TRANSACTION_ID, "3310ba3b-cf64-49b2-80e6-3f9196917131");
TransactionResponse response = PayUReports.getTransactionResponse(parameters);
// --você poderá obter as propriedades da resposta --
if(response != null){
response.getState();
response.getTrazabilityCode();
response.getAuthorizationCode();
response.getResponseCode();
response.getOperationDate();
}
$parameters = array(PayUParameters::TRANSACTION_ID => "3310ba3b-cf64-49b2-80e6-3f9196917131");
$response = PayUReports::getTransactionResponse($parameters);
if ($response) {
$response->state;
$response->trazabilityCode;
$response->authorizationCode;
$response->responseCode;
$response->operationDate;
}
Consulta por ID de Referência
Reference Id é um valor gerado pela sua loja para identificar uma ordem.
Você pode usar getOrderDetailByReferenceCode
para consultar o status de uma ordem por seu próprio identificador de ordem (referência).
Os exemplos a seguir mostram como chamar o método para este tipo de transação de acordo com a linguagem de programação.
Map<String, String> parameters = new HashMap<String, String>();
// Coloque aqui o código de referência da ordem.
parameters.put(PayU.PARAMETERS.REFERENCE_CODE, "payment_test_1625093692957");
List<Order> orders_response = PayUReports.getOrderDetailByReferenceCode(parameters);
Iterator<Order> orders_iterator= orders_response.iterator();
// -- recorrer as ordens com a referência consultada--
while(orders_iterator.hasNext()){
Order order= (Order) orders_iterator.next();
if(order != null){
order.getAccountId();
order.getStatus();
order.getReferenceCode();
order.getAdditionalValue("TX_VALUE").getValue();
order.getAdditionalValue("TX_TAX").getValue();
if(order.getBuyer() != null){
order.getBuyer().getEmailAddress();
order.getBuyer().getFullName();
}
// -- recorrer as transações associadas à ordem--
List<Transaction> transactions=order.getTransactions();
Iterator<Transaction> transactions_iterator=transactions.iterator();
while(transactions_iterator.hasNext()){
Transaction transaction= (Transaction) transactions_iterator.next();
transaction.getType();
transaction.getTransactionResponse().getState();
transaction.getTransactionResponse().getPaymentNetworkResponseCode();
transaction.getTransactionResponse().getTrazabilityCode();
transaction.getTransactionResponse().getResponseCode();
if(transaction.getPayer() != null){
transaction.getPayer().getFullName();
transaction.getPayer().getEmailAddress();
}
}
}
}
// Coloque aqui o código de referência da ordem.
$parameters = array(PayUParameters::REFERENCE_CODE => "payment_test_1625093692957");
$response = PayUReports::getOrderDetailByReferenceCode($parameters);
foreach ($response as $order) {
$order->accountId;
$order->status;
$order->referenceCode;
$order->additionalValues->TX_VALUE->value;
$order->additionalValues->TX_TAX->value;
if ($order->buyer) {
$order->buyer->emailAddress;
$order->buyer->fullName;
}
$transactions=$order->transactions;
foreach ($transactions as $transaction) {
$transaction->type;
$transaction->transactionResponse->state;
$transaction->transactionResponse->paymentNetworkResponseCode;
$transaction->transactionResponse->trazabilityCode;
$transaction->transactionResponse->responseCode;
if ($transaction->payer) {
$transaction->payer->fullName;
$transaction->payer->emailAddress;
}
}
}
Ping
O método PING
permite que você confirme a conexão com a nossa plataforma.Os exemplos a seguir mostram como chamar o método para este tipo de transação de acordo com a linguagem de programação.
boolean response = PayUReports.doPing();
LoggerUtil.info("{0}", response);
$response = PayUReports::doPing();
$response -> code;