<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Loading...</title> </head> <body> <div id="fb-root"></div> <script> var appid = 你的应用编号; var product = '{$product}'; // 产品信息页面地址 var request_id = '{$request_id}'; //订单的id,必须是唯一的 var callbackurl = '{$callbackurl}';
window.fbAsyncInit = function() {
FB.init({
appId : appid, status : true, cookie : true, xfbml : true, version: 'v3.2' // 使用图形api v3.2版本 }); function FacebookCreditsOrder() {
var obj = {
method: 'pay', action: 'purchaseitem', product: product,//产品信息页面的地址 request_id: request_id,//订单的id,必须是唯一的 }; FB.ui(obj, function(data) {
console.log(data); if( data['status'] == 'completed'){
bh_msg_tips('Transaction Completed!') }else{
bh_msg_tips('Transaction Failed!') } setTimeout(function () {
window.location.href = callbackurl; },1500) }); } FacebookCreditsOrder(); }; // Load the SDK Asynchronously (function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; if (d.getElementById(id)) {
return; } js = d.createElement('script'); js.id = id; js.async = true; js.src = "https://connect.facebook.net/en_US/all.js"; ref.parentNode.insertBefore(js, ref); }(document)); // 页面提示信息 function bh_msg_tips(msg){
var oMask = document.createElement("div"); oMask.id = "bh_msg_lay"; oMask.style.position="fixed"; oMask.style.left="0"; oMask.style.top="70%"; oMask.style.zIndex="100"; oMask.style.textAlign="center"; oMask.style.width="100%"; oMask.innerHTML = "<span style='background: rgba(0, 0, 0, 0.65);color: #fff;padding: 10px 15px;border-radius: 3px; font-size: 14px;'>" + msg + "</span>"; document.body.appendChild(oMask); setTimeout(function(){
$("#bh_msg_lay").remove();},2000); } </script>
</body>
</html>
// facebook 支付回调
function facebook(){
$verify_token = "ssdfshhngthkouyk";
$hub_challenge = $_GET['hub_challenge'];
$hub_verify_token = _GET['hub_verify_token'];
if ($hub_verify_token === $verify_token) {
return $hub_challenge;
}
// 更新订单信息
$data = file_get_contents("php://input");
$json = json_decode($data,true);
add_error_log('支付结果回调',$data);
if( isset($json["object"]) && $json["object"] && $json["object"] == "payments" ) {
$payment_id = $json["entry"][0]["id"];
$fb = new Facebook([
'app_id' => '你的应用编号',
'app_secret' => '你的秘钥',
'default_graph_version' => 'v3.2',
]);
$result = $fb->get($payment_id . '?fields=user,actions,request_id,items,gift_requests', config('app_token'));
$result = json_decode($result->getBody(), true);
$actions = isset($result['actions'][0]) ? $result['actions'][0] : [];
$request_id = isset($result['request_id']) ? $result['request_id'] : '';
if ($actions['status'] == 'completed' && !empty($request_id)) {
// 处理订单信息
}
}
}