-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfirm.php
111 lines (89 loc) · 4.64 KB
/
confirm.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
//Incluindo o arquivo que contém a função sendNvpRequest
require 'php/sendNvpRequest.php';
include 'php/ChromePhp.php';
//Vai usar o Sandbox, ou produção?
$sandbox = true;
if ($sandbox) {
$paypalURL = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
//credenciais da API para o Sandbox
$user = 'empresa_api1.empresateste.com.br';
$pswd = '1390932561';
$signature = 'A1iK8SWiLlvpgdDfIXRoaVGOvHOnADYgKKY3P6rp1r-IUylwnTE6Lece';
} else {
$paypalURL = 'https://www.paypal.com/cgi-bin/webscr';
//credenciais da API para produção
$user = 'usuario';
$pswd = 'senha';
$signature = 'assinatura';
}
$postdata = file_get_contents("php://input");
$request = json_decode($postdata, true);
$token = $_GET['token'];
$payerID = $_GET['PayerID'];
ChromePhp::log($token);
ChromePhp::log($payerID);
//Campos que serão enviados com a operação SetExpressCheckout
$requestNvp = array(
'METHOD' => 'GetExpressCheckoutDetails',
'VERSION' => '108.0',
'PWD' => $pswd,
'USER' => $user,
'SIGNATURE' => $signature,
'TOKEN' => $token
);
// ChromePhp::log($requestNvp);
//Envia a requisição e obtém a resposta da PayPal
$responseNvp = sendNvpRequest($requestNvp, $sandbox);
ChromePhp::log($responseNvp);
//Se a operação tiver sido bem sucedida, redireciona o cliente para o ambiente de pagamento.
if (isset($responseNvp['ACK']) && $responseNvp['ACK'] == 'Success') {
// echo json_encode($responseNvp);
//Campos que serão enviados com a operação SetExpressCheckout
$requestNvp = array(
'METHOD' => 'DoExpressCheckoutPayment',
'VERSION' => '108.0',
'PWD' => $pswd,
'USER' => $user,
'SIGNATURE' => $signature,
'TOKEN' => $responseNvp['TOKEN'],
'PAYERID' => $responseNvp['PAYERID'],
'NOTIFYURL' => $responseNvp['NOTIFYURL'],
'PAYMENTREQUEST_0_PAYMENTACTION' => $responseNvp['PAYMENTREQUEST_0_PAYMENTACTION'],
'PAYMENTREQUEST_0_AMT' => $responseNvp['PAYMENTREQUEST_0_AMT'],
'PAYMENTREQUEST_0_CURRENCYCODE' => $responseNvp['PAYMENTREQUEST_0_CURRENCYCODE'],
'PAYMENTREQUEST_0_ITEMAMT' => $responseNvp['PAYMENTREQUEST_0_ITEMAMT'],
'PAYMENTREQUEST_0_INVNUM' => $responseNvp['PAYMENTREQUEST_0_INVNUM'],
'L_PAYMENTREQUEST_0_NAME0' => $responseNvp['L_PAYMENTREQUEST_0_NAME0'],
'L_PAYMENTREQUEST_0_DESC0' => $responseNvp['L_PAYMENTREQUEST_0_DESC0'],
'L_PAYMENTREQUEST_0_AMT0' => $responseNvp['L_PAYMENTREQUEST_0_AMT0'],
'L_PAYMENTREQUEST_0_QTY0' => $responseNvp['L_PAYMENTREQUEST_0_QTY0'],
'L_PAYMENTREQUEST_0_ITEMAMT' => $responseNvp['L_PAYMENTREQUEST_0_ITEMAMT'],
'L_PAYMENTREQUEST_0_NAME1' => $responseNvp['L_PAYMENTREQUEST_0_NAME1'],
'L_PAYMENTREQUEST_0_DESC1' => $responseNvp['L_PAYMENTREQUEST_0_DESC1'],
'L_PAYMENTREQUEST_0_AMT1' => $responseNvp['L_PAYMENTREQUEST_0_AMT1'],
'L_PAYMENTREQUEST_0_QTY1' => $responseNvp['L_PAYMENTREQUEST_0_QTY1'],
'PAYMENTREQUEST_0_SHIPTONAME' => $responseNvp['PAYMENTREQUEST_0_SHIPTONAME'],
'PAYMENTREQUEST_0_SHIPTOSTREET' => $responseNvp['PAYMENTREQUEST_0_SHIPTOSTREET'],
'PAYMENTREQUEST_0_SHIPTOSTREET2' => $responseNvp['PAYMENTREQUEST_0_SHIPTOSTREET2'],
'PAYMENTREQUEST_0_SHIPTOCITY' => $responseNvp['PAYMENTREQUEST_0_SHIPTOCITY'],
'PAYMENTREQUEST_0_SHIPTOSTATE' => $responseNvp['PAYMENTREQUEST_0_SHIPTOSTATE'],
'PAYMENTREQUEST_0_SHIPTOZIP' => $responseNvp['PAYMENTREQUEST_0_SHIPTOZIP'],
'PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE' => $responseNvp['PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE']
);
// ChromePhp::log($requestNvp);
$responseNvp = null;
//Envia a requisição e obtém a resposta da PayPal
$responseNvp = sendNvpRequest($requestNvp, $sandbox);
ChromePhp::log($responseNvp);
// print_r ($responseNvp);
//Se a operação tiver sido bem sucedida, redireciona o cliente para o ambiente de pagamento.
if (isset($responseNvp['ACK']) && $responseNvp['ACK'] == 'Success' && $responseNvp['PAYMENTINFO_0_PAYMENTSTATUS'] == 'Completed') {
$transID = $responseNvp['PAYMENTINFO_0_TRANSACTIONID'];
header("location: ./#/congratulations?transID=".$transID );
} else {
//alguma coisa aconteceu
}
} else {
//alguma coisa aconteceu
}