Tôi đã tích hợp API nhận diện của PayPal trong trang web của tôi. Như thường lệ khi người dùng nhấp vào login with paypal
(JavaScript button), nó sẽ mở ra một cửa sổ mới cho mục đích đăng nhập. Nhưng sau khi đăng nhập hợp lệ, nó chuyển hướng tôi đến cùng một cửa sổ bật lên.PayPal chuyển hướng đến cùng một cửa sổ bật lên
Lưu ý: Tôi thay thế tên miền của mình như domain
URL trả về ứng dụng (thử nghiệm):http://domain.esy.es/index.php/users/paypalidentity
Xem
//url http://domain.esy.es/index.php
<span id="paypalButton"></span>
<script src="https://www.paypalobjects.com/js/external/api.js"></script>
<script>
paypal.use(["login"], function(login) {
login.render ({
"appid": MYAPPID,
"authend": "sandbox",
"scopes": "openid email profile address phone https://uri.paypal.com/services/paypalattributes",
"containerid": "paypalButton",
"locale": "en-us",
"returnurl": "http://domain.esy.es/index.php/users/paypalidentity"
});
});
</script>
khiển
//url http://domain.esy.es/index.php/users/paypalidentity
require_once __DIR__ . '/../../vendor/autoload.php';
$apicontext = new PPApiContext(array('mode' => 'sandbox'));
$code = $_REQUEST['code'];
$apicontext = new PPApiContext(array('mode' => 'sandbox'));
$params = array(
'client_id' => MYCLIENTID,
'client_secret' => MYSECRET,
'code' => $code
);
$token = PPOpenIdTokeninfo::createFromAuthorizationCode($params,$apicontext);
$apicontext = new PPApiContext(array('mode' => 'sandbox'));
$params = array('access_token' => $token->getAccessToken());
$user = PPOpenIdUserinfo::getUserinfo($params,$apicontext);
$this->session->set_userdata(
array(
'name'=>$user->getName()
)
);
redirect(base_url());
thành công Login
Chuyển hướng đến URL chuyển hướng cấu hình
Chắc chắn bạn cần phải thêm trình kích hoạt close() từ javascript PayPal trên URL trả về của bạn. Trong thực tế, thủ tục sẽ là tạo một URL trả về riêng biệt mà không có gì ngoài hành động close() này trên nó. PayPal sẽ chuyển hướng đến nó, nhưng sau đó nó sẽ ngay lập tức đóng, để lại cho bạn với màn hình phía sau như bạn muốn. Chi tiết trong tài liệu. Hãy để tôi xem nếu tôi có thể tìm thấy nó và đăng một câu trả lời chính thức. –
Câu trả lời cuối cùng làm những gì bạn yêu cầu - đánh dấu nó. – kape123
Câu hỏi hay. Đó là tháng 6 năm 2016 và PayPal vẫn chưa giải thích cách thực hiện. – Green