-
Conteúdo Similar
-
Por Claudia França
Prezados há dias consegui chegar no fim do projeto e, agora resta apenas corrigir o erro que ocorro no fim da transação. "Atualizar informações de pagamento. "
Eu tenho aqui a doc. Mas não seu exatamente o que alterar no código para corrigir isso. E preciso de ajuda,
https://www.userede.com.br/desenvolvedores/pt/produto/e-Rede#documentacao-3ds
function updatePaymentAPI($apikey, $secret, $callid, $currencyCode,$total, $subtal){
$time = time();
$query_string = "apikey=".$apikey;
$resource = "payment/info/".$callid;
$body = "{\"updateInfo\":[{\"payInfo\":{\"reason\":\"ProductionKey Test\",
\"avsResponseCode\":\"Y\",\"total\":".$total.",\"currencyCode\":\"".$currencyCode."\",
\"eventStatus\":\"Success\",\"eventType\":\"Authorize\"}},{\"orderInfo\":{\"currencyCode\":\"".$currencyCode."\",
\"discount\":0,\"eventType\":\"Confirm\",\"giftWrap\":0,\"misc\":0,
\"reason\":\"Order_placed\",\"shippingHandling\":0,\"subtotal\":".$subtal.",\"tax\":0,\"total\":".$total."}}]}";
$certificatePath = 'cert.pem';
$privateKey = 'key_9e082920-8ec4-441a-8cfa-588b0829d326.pem';
//Hash for x-pay-token
$token = $time.$resource.$query_string.$body;
$hashtoken = "xv2:".$time.":".hash_hmac('sha256', $token, $secret); //X-PAY-TOKEN String
//$url = "https://api.visa.com/wallet-services-web/".$resource."?".$query_string;
$url = "https://api.visa.com/wallet-services-web/".$resource."?".$query_string;
updatePaymentLog("=========================================\n\n");
updatePaymentLog("CallID : ".$callid."\n");
updatePaymentLog("URL : ".$url."\n\n");
updatePaymentLog("Update Payment Request Parameters : \n");
updatePaymentLog($body);
//Header
$header = (array("X-PAY-TOKEN: ".$hashtoken, "Accept: application/json", "Content-Type: application/json","X-FRAME-OPTIONS: SAMEORIGIN"));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSLVERSION , 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
//curl_setopt($ch, CURLOPT_SSLCERT, $certificatePath);
//curl_setopt($ch, CURLOPT_SSLKEY, $privateKey);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_POSTFIELDS,$body);
//getting response from server
$response = curl_exec($ch);
if(!$response) {
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
}
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$json = "";
$ret = array(
'status' =>"",
'data' => ""
);
if($statusCode == 200) { //If success => empty Object.
$ret['status'] = 'success';
updatePaymentLog("\nUpdate Payment Info called Successfully...\n");
}else{ // Return Error Object
$ret['status'] = 'fail';
$ret['data'] = $response;
updatePaymentLog("\nSomething Went Wrong....\n");
$json = json_decode($response);
$json = json_encode($json, JSON_PRETTY_PRINT);
}
updatePaymentLog("\nStatus Code : " . $statusCode ."\n");
updatePaymentLog($json);
updatePaymentLog("\n");
echo json_encode($ret);
}
updatePaymentAPI($visaApiKey, $sharedSecret, $callid, $currencyCode, $total, $subtotal);
?>
-
Por Novato_no_forum
olá pessoal, eu contratei um dominio barato anual, e montei uma loja virtual e-commerce, atraves do softaclous do cpanel, instalei o opencart. Então, como meu conhecimento em PHP é baixíssimo, (mais html) , como faço para "criar " um instalador de módulo como correios e pagamento ? por exemplo, no pagseguro tem o API de integração, tem os códigos, podia até montar, numa página e salvar tipo "pagseguro.php" mas só isso não adianta. tem que ter mais arquivos, qual programa bom que poderia fazer isso ? (se é que tem?) , obrigado !
-
Por M4RC0S J0S3 S1LV4
Me desculpe, mas eu estou com um grande problema, acho que é fácil, mas para mim está sendo muito perturbador pois sou iniciante de JavaScript vamos lá.
Eu queria saber como fazer 1 input preencher 2 input, tipo.. tem 3 input A e todos os input A forem preenchidos e no B a mesma coisa só muda que seja só o Input B. entendem? estou necessitando desta super ajuda.
-
Por Sallum
Olá.
Sou iniciante em programação e, depois de conversar com algumas pessoas, decidi começar a estudar Ruby.
Gostaria de saber por onde devo começar a estudar.
Encontrei bastante material e cursos sobre Ruby e Ruby on Rails.
Minha intenção é programar para web, ou mobile.
Gostaria que alguém pudesse me dar um "norte", sobre qual caminho seguir.
Desde já, muito obrigado!
-
Por Claudia França
Pessoal estou com um problema para homologar um pagamento service.
o resultado do Status deve ser sucessfull.
Parte do codido do index.
"
$('#payButton').one('click', function(){
var amount = $('input[name=amount]').val();
var currency = $('[name=currency]').val();
console.log(amount, currency);
V.init( {
apikey: '<?php echo $visaApiKey ?>',
settings: {
//logoUrl: 'https://www.novachance.org.br/wp-content/uploads/2018/06/xLogo_INC.jpg.pagespeed.ic.QrM-Azm3n5.jpg',
locale: 'en_US',
displayName: 'Viva a Musica',
websiteUrl: 'https://www.vivaamusica.org.br',
customerSupportUrl: 'https://www.vivaamusica.org.br/contato',
dataLevel: 'FULL'
},
paymentRequest: {
currencyCode: currency,
total: amount,
merchantRequestId: 'you can send any value to API ang get it in callback',
orderId: 'you can send any value to API ang get it in callback',
description: 'any order description if needs'
}
});
V.on('payment.success', function(payment) {
console.log('Visa success:', JSON.stringify(payment));
$('#succesOverlay').show();
$.ajax({
type: 'POST',
url: 'mailer.php',
data: {json: JSON.stringify(payment)},
dataType: 'json',
success: function(data){
console.log('Ajax success');
console.log(data);
location = 'thanks.php';
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('Ajax error:');
console.log(textStatus, errorThrown);
}
});
});
V.on('payment.cancel', function(payment){
console.log('Canceled:', payment);
});
V.on('payment.error', function(payment, error){
console.log('Visa error:', payment, error);
});
$('.v-button').click();
})
"
Chamada Json
"
"Customer": {
"Name": "[$userFullName]"
},
"Payment": {
"ServiceTaxAmount": 0,
"Installments": 1,
"Interest": 0,
"Capture": false,
"Authenticate": false,
"Recurrent": false,
"CreditCard": {
"CardNumber": "453211******1521",
"Holder": "Gama Gama",
"ExpirationDate": "08/2020",
"SaveCard": false,
"Brand": "Visa"
},
"Tid": "0319040817883",
"ProofOfSale": "817883",
"AuthorizationCode": "027795",
"Wallet": {
"Type": "VisaCheckout",
"WalletKey": "1140814777695873901",
"Eci": 0
},
"SoftDescriptor": "123456789ABCD",
"Amount": 100,
"ReceivedDate": "2018-03-19 16:08:16",
"Status": "eventStatus",
"IsSplitted": false,
"ReturnMessage": "Operation Successful",
"ReturnCode": "4",
"PaymentId": "e57b09eb-475b-44b6-ac71-01b9b82f2491",
"Type": "CreditCard",
"Currency": "BRL","en_US",
"Country": "BRA","USA",
"updateInfo": {
"payInfo": {
"reason": "Pagamento","Payment",
"avsResponseCode": "Y",
"Amount": 91.00,
"currencyCode": "USD",
"eventStatus": "Success",
"eventType": "Authorize",
"PaymentId": "e57b09eb-475b-44b6-ac71-01b9b82f2491",
}
}
}
}
{
"
O pessoal da empresa me fala que tenho que enviar o CallID gerado ( não sei como faço isso) e fazer a chamado do alteração de evento quando a transação for sucesso.
Pensei em criar um aquivo payment.php mas pelo que li no manual necessariamente, não eh necessário.
-