Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Iae Galera estou tentando implantar um sistema de pagamento em meu site utilizando a Braspag.
Tenho que utilizar o SOAP para enviar os dados a Braspag, e então a Braspag irá criptografar estes dados e irá me retornar os mesmos já criptografados.
preciso enviar o seguinte envelope soap para eles:
POST /BraspagGeneralService/BraspagGeneralService.asmx HTTP/1.1
Host: homologacao.pagador.com.br
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "https://www.pagador.com.br/webservice/BraspagGeneralService/EncryptRequest"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http-~~-//www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http-~~-//www.w3.org/2001/XMLSchema" xmlns:soap="http-~~-//schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<EncryptRequest xmlns="https-~~-//www.pagador.com.br/webservice/BraspagGeneralService">
<merchantId>string</merchantId>
<request>
<string>string</string>
<string>string</string>
</request>
</EncryptRequest>
</soap:Body>
</soap:Envelope>
como faço isso, alguém poderia me dar um help?
Obrigado.
A única coisa que eles me passaram foi este link.
https://homologacao.pagador.com.br/BraspagGeneralService/BraspagGeneralService.asmx
seria isso?
Obrigado
>
A única coisa que eles me passaram foi este link.
https://homologacao....ralService.asmx
seria isso?
Obrigado
Bom, através desse link foi possível localizar o WSDL: https://homologacao.pagador.com.br/BraspagGeneralService/BraspagGeneralService.asmx?WSDL
Esses são os métodos disponíveis:
/applications/core/interface/imageproxy/imageproxy.php?img=http://joaoneto.com4.com.br/images/BraspagGeneralService.jpg&key=3ae2adb10bb4a8f75cdb6e4c0a750f9476d5941c9ae0db509097c6785e509653" alt="Imagem Postada" class="bbc_img">
Para consumir o método EncryptRequest você fará assim:
<?php
/**
* Preparando requisição
*/
$parameters = new stdClass();
$parameters->merchantId = 'xxx'; //aqui você vai colocar seu merchantId
$parameters->request = array(
'conteudo1',
'conteudo2',
'...',
'conteudoN'
);
/**
* Aqui enviamos a requisição
*/
try {
$braspag = new SoapClient( 'https-~~-//homologacao.pagador.com.br/BraspagGeneralService/BraspagGeneralService.asmx?WSDL',
array(
'trace' => 1,
'exceptions' => 1,
'style' => SOAP_DOCUMENT,
'use' => SOAP_LITERAL,
'soap_version' => SOAP_1_1,
'encoding' => 'UTF-8'
)
);
/**
* A variável $EncryptRequestResult abaixo conterá o conteúdo criptografado se tudo ocorrer bem
*/
$EncryptRequestResult = $braspag->EncryptRequest( $parameters );
echo $EncryptRequestResult; //Exibindo o conteúdo criptografadoecho 'Ocorreu um erro: ' , $fault->getMessage();
}Muito Obrigado pela ajuda,
você está salvando minha pele!! rs
só mais um detalhe, está dando o seguinte erro na hr q eu rodo isso.
Catchable fatal error: Object of class stdClass could not be converted to string in /home/centralh/public_html/soap/client.php on line 28
a linha 28 é aonde você colocou para imprimir os valores criptografados.
Será que estou passando o array errado?
já tentei de algumas formas. ex
array(
nome => 'comprador',
valor => 100);
ou
array(
'nome = comprador',
'valor = 100');
poderia me dar este último help!!!
Muito OBRIGADO!!
Abs
>
Será que estou passando o array errado?
Não, na verdade foi falha minha, agora deve funcionar:
$EncryptRequestResponse = $braspag->EncryptRequest( $parameters );
echo $EncryptRequestResponse->EncryptRequestResult; //Exibindo o conteúdo criptografadoCERTINHO!!!
Estou te devendo esta!!!
Muito Obrigado João!!
ABS
Teria comop voce postar os arquivos corretos com os parametros tambem? obrigado
Cara que Osso essa Braspag... se puderem alguem tem os arquivos completos aí para disponiblizarem...
Olá pessoal, estou tentando implementar a brasspag e to apanhando bastante, alguem ja fez
e meu codigo retorna erro de Guid, não sei como resolver
$parameters = new stdClass();
$parameters->request = new StdClass();
$parameters->request->OrderData->MerchantId='00000000000000000000000000000';
$parameters->request->OrderData->OrderId='04032013001';
$parameters->request->OrderData->BraspagOrderId= " nil=".chr(34)."true".chr(34)." /";
$parameters->request->CustomerData->CustomerIdentity='99999999999';
$parameters->request->CustomerData->CustomerName='Teste';
$parameters->request->CustomerData->CustomerEmail='compradot@teste.com';
$parameters->request->CustomerData->CustomerAddressData=" nil=".chr(34)."true".chr(34)." /";
$parameters->request->CustomerData->DeliveryAddressData=" nil=".chr(34)."true".chr(34)." /";
$parameters->request->PaymentDataCollection->PaymentDataRequest="type=".chr(34)."CreditCardDataRequest".chr(34);
$parameters->request->PaymentDataCollection->PaymentMethod='997';
$parameters->request->PaymentDataCollection->Amount='500';
$parameters->request->PaymentDataCollection->Currency='BRL';
$parameters->request->PaymentDataCollection->Country='BRA';
$parameters->request->PaymentDataCollection->NumberOfPayments='1';
$parameters->request->PaymentDataCollection->PaymentPlan='0';
$parameters->request->PaymentDataCollection->TransactionType='2';
$parameters->request->PaymentDataCollection->CardHolder='Comprador Teste';
$parameters->request->PaymentDataCollection->CardNumber='0000000000000001';
$parameters->request->PaymentDataCollection->SaveCreditCard='true';
$parameters->request->PaymentDataCollection->CardSecurityCode='111';
$parameters->request->PaymentDataCollection->CardExpirationDate='05/2018';
$parameters->request->RequestId='80a51fb5-f9d7-44b8-bdc2-da2d533f3b8d';
$parameters->request->Version='1.0';
// Verifica se tem o SOAP instalado.
if (!class_exists('SoapClient')){
echo ("O módulo PHP-Soap nâo esta instalado.");
} else {
try {
$braspag = new SoapClient('[https://homologacao.pagador.com.br/webservice/pagadorTransaction.asmx?WSDL](https://homologacao.pagador.com.br/webservice/pagadorTransaction.asmx?WSDL)',
array(
'trace' => 'true',
'exceptions' => 1,
'style' => SOAP_DOCUMENT,
'use' => SOAP_LITERAL,
'soap_version' => SOAP_1_1,
'encoding' => 'UTF-8'
)
);
print_r($parameters);
$AuthorizeTransactionResponse = $braspag->AuthorizeTransaction($parameters);
print_r($AuthorizeTransactionResponse);
echo $AuthorizeTransactionResponse->AuthorizeTransactionResponse;
//var_dump($braspag->__getFunctions());
}
catch(SoapFault $fault) {
echo 'Ocorreu um erro: ' , $fault->getMessage();
}
echo '<br>------Começa aqui !--------<br>';
echo "<pre>";
//var_dump($braspag->__getLastRequestHeaders()); //the headers of your last request
//var_dump($braspag->__getLastRequest()); //your last request
echo htmlspecialchars($braspag->__getLastRequestHeaders())."\n";
echo htmlspecialchars($braspag->__getLastRequest())."\n";
echo "Response:\n".htmlspecialchars($braspag->__getLastResponseHeaders())."\n";
echo htmlspecialchars($braspag->__getLastResponse())."\n";
echo "</pre>";
};
alguem tem alguma ideia ????
Pessoal, esse gateway é realmente complicado de integrar.. alguém conseguiu?
Você deve ter recebido um caminho da descrição do serviço (WSDL).
Coloque esse caminho aqui no fórum.