【问题标题】:Payment Navigation form php to payment gateway and back to php (response back to php page )支付导航表单 php 到支付网关并返回 php(响应返回 php 页面)
【发布时间】:2016-08-27 06:28:43
【问题描述】:

我创建了一个 login.php 文件,用户可以在其中导航到 instamojo 支付页面。完成交易后,用户从 instamojo 收到成功消息,但我需要在我的域或自己的 php 文件中显示成功的交易。那么如何将交易相关信息获取到我的网页或 login.php 文件中

例如:从我们的 login.php 重定向到 instamojo(支付网关)并响应(成功消息)到我们的 login.php,提示用户支付成功

var rootURL = "cgshealthcare.com/HealthCareSystem/";;
$(document).ready(function() {
  $('#login').click(function() {
    if ($('#username').val() == "" || $('#password').val() == "") {
      alert("Please enter username or password");
      return false;
    }
    cardloginUser($('#username').val(), $('#password').val());
  });
});

function forwardtoRegister() {
  window.location = "login.php?page=register";
}

function cardloginUser(userName, password) {
  console.log('userName: ' + userName);
  console.log('password: ' + password);
  if (userName.length < 1) {
    $('#errorlist').html("<font color='red'><b> Please enter User ID</b></font>");
    return false;
  }
  if (password.length < 1) {
    $('#errorlist').html(" <font color='red'><b> Please enter Password</b></font>");
    return false;
  }
  console.log(rootURL + '/authenticate/' + userName + '/' + password);
  $.ajax({
    type: 'GET',
    url: rootURL + '/authenticate/' + userName + '/' + password,
    dataType: "json",
    success: function(data) {
      console.log("hello" + data.responseMessageDetails);
      var list = data == null ? [] : (data.responseMessageDetails instanceof Array ? data.responseMessageDetails : [data.responseMessageDetails]);
      console.log("List : " + list);
      if ((list).length < 1) {
        $('#errorlist').html("<font color='red'><b> Invalid User Name and Password Combination </b></font>");
        $('#errorblock').css("visibility") == "visible";
      }
      $.each(list, function(index, responseMessageDetails) {
        console.log("Status " + responseMessageDetails);
        var message = responseMessageDetails.message;
        if (message.indexOf("]:") > 0) message = message.substring(0, message.indexOf("]:") + 2);
        console.log("message" + message);
        console.log("USer Data" + responseMessageDetails.status);
        console.log("USer Data" + responseMessageDetails.message);
        if (responseMessageDetails.status == "Success") {
          window.location = "imjo.in/NpKxN";;
        } else if (responseMessageDetails.status == "Fail") {
          window.location = "www.google.com";
          console.log("Fail1");
          $('#errorlist').html("<font color='red'><b>" + message + "</b></font>");
        } else {
          console.log("Fail111");
          $('#errorlist').html("<font color='red'><b> We are sorry some intermittent Issue. Please try after some time. </b></font>");
        }
      });
    },
    error: function(data) {
      console.log("data...." + data);
      var list = data == null ? [] : (data.responseMessageDetails instanceof Array ? data.responseMessageDetails : [data.responseMessageDetails]);
      console.log("data...." + data);
      $.each(list, function(index, responseMessageDetails) {
        console.log(responseMessageDetails);
        var message = responseMessageDetails.message;
        if (message.indexOf("]:") > 0) message = message.substring(0, message.indexOf("]:") + 2);
        $('#errorlist').html("<font color='red'><b>" + message + "</b></font>");
      });
    }
  });
}

function showLogin() {
  window.location = "login.php";
}

【问题讨论】:

  • var rootURL = "cgshealthcare.com/HealthCareSystem"; $(document).ready(function(){ $('#login').click(function() { if($('#username').val() == "" || $('#password' ).val() == ""){ alert("请输入用户名或密码"); return false; } cardloginUser($('#username').val(),$('#password').val( ));}); });函数 forwardtoRegister(){ window.location = "login.php?page=register"; }
  • function cardloginUser(userName,password) { console.log('userName: ' + userName); console.log('密码:' + 密码); if(userName.length 请输入用户ID");返回假; } if(password.length 请输入密码");返回假; } console.log(rootURL + '/authenticate/' + 用户名 +'/'+密码); $.ajax({
  • type: 'GET', url: rootURL + '/authenticate/' + userName +'/'+password, dataType: "json", 成功: function(data){ console.log("你好"+data.responseMessageDetails);变量列表 = 数据 == 空? [] : (data.responseMessageDetails instanceof Array ? data.responseMessageDetails : [data.responseMessageDetails]);
  • console.log("List : "+list); if((list).length
  • $('#errorlist').html("用户名和密码组合无效"); $('#errorblock').css("visibility") == "visible"; } $.each(list, function(index, responseMessageDetails) { console.log("状态 "+responseMessageDetails);

标签: javascript php transactions instamojo


【解决方案1】:

请查看integration guide here

用户在 instamojo 上输入付款信息后,他们将被重定向到您指定的重定向网址(并且是您网站上的网址)。 Instamojo 将交易结果附加到此 url。您可以在您的网站上将其设为 php url,并使用 GET 方法读取结果。根据结果​​,您可以处理您的付款并向最终用户显示结果。 More on GET method here...

Instamojo 还提供了 webhook,它们就像后台的静默 POST,可以用作备份,以防前端重定向 url 由于某种原因失败。这样,如果最终用户的重定向由于任何原因失败,webhook 仍将在后台接收信息,您可以使用这些信息更新数据库以了解事务的成功/失败。当然,您的网络服务器必须启动并运行才能接收 webhook 通知。如果那是失败的关键,那就什么都行不通:)

我分享的 API 链接包含所有这些详细信息。

谢谢

【讨论】:

    猜你喜欢
    • 2012-11-12
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 2019-05-30
    相关资源
    最近更新 更多