Open Jey-Vclub opened 4 years ago
Hi @Jey-Vclub
How to collect card data to process an Authorization is outlined here: https://developer.globalpay.com/ecommerce/remote-api#api
With more detail in the API Explorer: https://developer.globalpay.com/api/card-payments#api-authorization
You might also consider using the Hosted Payment Page (HPP) which is responsible for collecting card data, performing 3D Secure 2 and so on. It also reduces your application's PCI overhead and is generally a more secure way (from a merchant perspective) of processing card data.
The HPP documentation is available here: https://developer.globalpay.com/ecommerce/hosted-payment-page#hpp
One more question, if I use HPP then will it take care method url, notification url, frictionless, challenge also?
Thanks & Regards
Jey Technical Architect & Business Analyst Leisure Dimensions Ltdhttps://www.leisuredimensions.com/ Platform Development & Support Team Working Hours : Email : Ext: 3016 9:00 to 18:00 hrs (PT) VClub.IT@MuthuHotelsMGM.commailto:VClub.IT@MuthuHotelsMGM.com
Reg. Platform, Elo-Si & www.LeisureDimensions.comhttp://www.leisuredimensions.com/ website issues, please create ticket from herehttp://helpdesk:8081/helpdesk/WebObjects/Helpdesk.woa/wo/0.11.1.1.9.7.4.1 with proper screenshots and steps to re-produce the issue. We’ll getback in 24 working hours.
From: Seán MacDomhnall notifications@github.com Sent: Friday, July 31, 2020 10:10 AM To: globalpayments/globalpayments-3ds-js globalpayments-3ds-js@noreply.github.com Cc: Jeyaseelan J vclub.it@muthuhotelsmgm.com; Mention mention@noreply.github.com Subject: Re: [globalpayments/globalpayments-3ds-js] 3d secure v2 (#14)
Hi @Jey-Vclubhttps://github.com/Jey-Vclub
How to collect card data to process an Authorization is outlined here: https://developer.globalpay.com/ecommerce/remote-api#api
With more detail in the API Explorer: https://developer.globalpay.com/api/card-payments#api-authorization
You might also consider using the Hosted Payment Page (HPP) which is responsible for collecting card data, performing 3D Secure 2 and so on. It also reduces your application's PCI overhead and is generally a more secure way (from a merchant perspective) of handling card data.
The HPP documentation is available here: https://developer.globalpay.com/ecommerce/hosted-payment-page#hpp
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/globalpayments/globalpayments-3ds-js/issues/14#issuecomment-667020686, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQMSVU7F5PPPEE4UUQEZPLTR6KC6VANCNFSM4PHDHWCQ.
Good Morning
From https://developer.globalpay.com/ecommerce/hosted-payment-page#hpp URL, said there is example for HPP on github so, I visited the page But, the example is in PHP only not in .Net. evidence please refer below screenshots so, could you please share example of HPP in .net? its really really urgent.
[cid:image001.png@01D66980.245AF740]
[cid:image002.png@01D66980.245AF740]
Thanks & Regards Jey From: Jeyaseelan J Sent: Friday, July 31, 2020 9:44 PM To: globalpayments/globalpayments-3ds-js reply@reply.github.com; globalpayments/globalpayments-3ds-js globalpayments-3ds-js@noreply.github.com Cc: Mention mention@noreply.github.com Subject: RE: [globalpayments/globalpayments-3ds-js] 3d secure v2 (#14)
One more question, if I use HPP then will it take care method url, notification url, frictionless, challenge also?
Thanks & Regards
Jey Technical Architect & Business Analyst Leisure Dimensions Ltdhttps://www.leisuredimensions.com/ Platform Development & Support Team Working Hours : Email : Ext: 3016 9:00 to 18:00 hrs (PT) VClub.IT@MuthuHotelsMGM.commailto:VClub.IT@MuthuHotelsMGM.com
Reg. Platform, Elo-Si & www.LeisureDimensions.comhttp://www.leisuredimensions.com/ website issues, please create ticket from herehttp://helpdesk:8081/helpdesk/WebObjects/Helpdesk.woa/wo/0.11.1.1.9.7.4.1 with proper screenshots and steps to re-produce the issue. We’ll getback in 24 working hours.
From: Seán MacDomhnall notifications@github.com<mailto:notifications@github.com> Sent: Friday, July 31, 2020 10:10 AM To: globalpayments/globalpayments-3ds-js globalpayments-3ds-js@noreply.github.com<mailto:globalpayments-3ds-js@noreply.github.com> Cc: Jeyaseelan J vclub.it@muthuhotelsmgm.com<mailto:vclub.it@muthuhotelsmgm.com>; Mention mention@noreply.github.com<mailto:mention@noreply.github.com> Subject: Re: [globalpayments/globalpayments-3ds-js] 3d secure v2 (#14)
Hi @Jey-Vclubhttps://github.com/Jey-Vclub
How to collect card data to process an Authorization is outlined here: https://developer.globalpay.com/ecommerce/remote-api#api
With more detail in the API Explorer: https://developer.globalpay.com/api/card-payments#api-authorization
You might also consider using the Hosted Payment Page (HPP) which is responsible for collecting card data, performing 3D Secure 2 and so on. It also reduces your application's PCI overhead and is generally a more secure way (from a merchant perspective) of handling card data.
The HPP documentation is available here: https://developer.globalpay.com/ecommerce/hosted-payment-page#hpp
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/globalpayments/globalpayments-3ds-js/issues/14#issuecomment-667020686, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQMSVU7F5PPPEE4UUQEZPLTR6KC6VANCNFSM4PHDHWCQ.
hello @seanmacdomhnall-gp
first thanks for your response. i did read many things from https://developer.globalpay.com/ecommerce/hosted-payment-page#hpp
at the end i developed 2 pages to use Lightbox
`<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="WebApplication3DsV2.HPP.Index" %>
<!DOCTYPE html>
below code is code behind of the same Index.asp
using GlobalPayments.Api; using GlobalPayments.Api.Entities; using GlobalPayments.Api.Services; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;
namespace WebApplication3DsV2.HPP { public partial class Index : System.Web.UI.Page { string strDbMode = "QA";
protected void Page_Load(object sender, EventArgs e)
{
HPPResponse();
}
private string HPPResponse()
{
// configure client, request and HPP settings
var service = new HostedService(new GatewayConfig
{
MerchantId = (strDbMode != "Live" ? CommonConstant.MerchantId : CommonConstant.MerchantId.Replace("Test", string.Empty)),
AccountId = CommonConstant.AccountId,
SharedSecret = CommonConstant.SharedSecret,
ServiceUrl = "https://pay.sandbox.realexpayments.com/pay",
HostedPaymentConfig = new HostedPaymentConfig
{
Version = "2"
}
});
// Add 3D Secure 2 Mandatory and Recommended Fields
var hostedPaymentData = new HostedPaymentData
{
CustomerEmail = "james.mason@example.com",
CustomerPhoneMobile = "44|07123456789",
AddressesMatch = false
};
var billingAddress = new Address
{
StreetAddress1 = "Flat 123",
StreetAddress2 = "House 456",
StreetAddress3 = "Unit 4",
City = "Halifax",
PostalCode = "W5 9HR",
Country = "826"
};
var shippingAddress = new Address
{
StreetAddress1 = "Apartment 825",
StreetAddress2 = "Complex 741",
StreetAddress3 = "House 963",
City = "Chicago",
State = "IL",
PostalCode = "50001",
Country = "840",
};
try
{
var jsonFromRequestEndpoint = service.Charge(19.99m)
.WithCurrency("EUR")
.WithHostedPaymentData(hostedPaymentData)
.WithAddress(billingAddress, AddressType.Billing)
.WithAddress(shippingAddress, AddressType.Shipping)
.Serialize();
MyHidden.Value = jsonFromRequestEndpoint;
return jsonFromRequestEndpoint;
// TODO: pass the HPP request JSON to the JavaScript, iOS or Android Library
}
catch (ApiException exce)
{
return exce.Message;
// TODO: Add your error handling here
}
}
}
} ` Under lib folder included rxp-hpp.js and rxp-remote.js files
HPPResponse.aspx page also designed but, no need to post it here because, the problem is in Index page, its not at all creating iframe , simply displaying plain page.
may i know what is the reason of not creating iFrame?
Hello there,
can someone please help me on this issue?
thanks jey
Hi @Jey-Vclub, I'm not sure what you mean when you say:
But, the example is in PHP only not in .Net. evidence please refer below screenshots so, could you please share example of HPP in .net?
On that page you can switch between languages (Java, PHP, .NET), the HPP screenshots don't change as the language you are using has no bearing on the HPP itself.
As for why the iFrame is not being created. It's difficult for me to tell based on the code that you have posted, are there any errors being shown in the Console of your browser's Developer Tools? Also, if you check the Network tab of the Developer Tools can you see the AJAX call to the server-side and the JSON string be returned?
hello @seanmacdomhnall-gp thanks for your response. Now, iframe loaded popup and i entered card details, after that it is went to HppResponse.aspx but, there is no hppResponse hidden field so, i cant get the response so, what it could be the problem? kindly help me
If the transaction is processed successfully, the HPP will return the response to the iFrame as a JSON string. This is then sent to the HppResponse.aspx and the browser redirected. So are you saying that the JavaScript Library is sending a blank string to HppResponse.aspx or what?
thanks for your response @seanmacdomhnall-gp
the transaction is completed, and the page redirected into HppResponse.aspx, there at page_load event i tried to get value by using var __hppResponse = Request.Form["hppResponse"]; but, it gives null value so,
//Create a form and submit the hpp response to the merchant's response url var form = document.createElement("form"); form.setAttribute("method", "POST"); //form.setAttribute("method", "GET");
form.setAttribute("action", merchantUrl);
form.setAttribute("id", "frmJ");
form.appendChild(internal.createFormHiddenInput("hppResponse", response));
document.body.appendChild(form);
form.submit();
But, when i it reach HppResponse.aspx there is no hidden object as hppResponse
At the same time if i change the code like form.setAttribute("method", "GET") then HppResponse.aspx has query of hppResponse hidden object.
could you please guide me to resolve this issue?
@Jey-Vclub with the breakpoint in place, for example at form.submit()
, what is the value of the variable response
?
@seanmacdomhnall-gp
At form.appendChild(internal.createFormHiddenInput("hppResponse", response)); this line response value is like below
"{"CAVV":"","SHIPPING_CODE":"NTAwMDE=","SRD":"YmgyUGZ0aHpNc3p5b21JQg==","CVNRESULT":"TQ==","HPP_CUSTOMER_PHONENUMBER_MOBILE":"NDR8MDcxMjM0NTY3ODk=","HPP_SHIPPING_STREET3":"SG91c2UgOTYz","HPP_SHIPPING_STREET1":"QXBhcnRtZW50IDgyNQ==","PASREF":"MTU5NzE0MTYxMzc3Mzg5Mg==","HPP_SHIPPING_STREET2":"Q29tcGxleCA3NDE=","MESSAGE":"WyB0ZXN0IHN5c3RlbSBdIEFVVEhPUklTRUQ=","BILLING_CODE":"VzUgOUhS","DS_TRANS_ID":"MmE4NDJiMzYtNDMyMi00MDhhLWE0NTAtNGQ4YjNhYmVhNWY0","ACCOUNT":"aW50ZXJuZXQ=","AVSPOSTCODERESULT":"TQ==","AMOUNT":"MTk5OQ==","TIMESTAMP":"MjAyMDA4MTExMTI2NDU=","pas_uuid":"NTJhZDllOWEtMmE5Ny00NGI4LTkzZjAtNDU3NTRjZjZmN2Rm","HPP_BILLING_STREET3":"VW5pdCA0","HPP_ADDRESS_MATCH_INDICATOR":"RkFMU0U=","HPP_BILLING_STREET2":"SG91c2UgNDU2","AUTHCODE":"MTIzNDU=","HPP_BILLING_STREET1":"RmxhdCAxMjM=","HPP_BILLING_CITY":"SGFsaWZheA==","HPP_SHIPPING_COUNTRY":"ODQw","AVSADDRESSRESULT":"TQ==","HPP_SHIPPING_POSTALCODE":"NTAwMDE=","AUTHENTICATION_VALUE":"TVRJek5EVTJOeWc1TURBNU9EYzJOVFF6TWpFPQ==","HPP_BILLING_POSTALCODE":"VzUgOUhS","ECI":"MDU=","HPP_BILLING_COUNTRY":"ODI2","MESSAGE_VERSION":"Mi4xLjA=","BATCHID":"ODIwMTky","XID":"","SHA1HASH":"Y2I1OWE4ZjYwNjkwZjQxOGViZTUzNmYyMzEwNzhlNzk2OTY1ZDM3ZA==","HPP_SHIPPING_CITY":"Q2hpY2Fnbw==","ORDER_ID":"NkprblJWMFc1a1dUa1gtaGFNOU9Cdw==","BILLING_CO":"ODI2","HPP_SHIPPING_STATE":"SUw=","HPP_CUSTOMER_EMAIL":"amFtZXMubWFzb25AZXhhbXBsZS5jb20=","RESULT":"MDA=","SHIPPING_CO":"ODQw","MERCHANT_ID":"Uk1JQ29uc29ydGl1bVRlc3Q="}"
_form.outerHTML_ shows below
"<form method="POST" action="https://localhost:44397/HPP/HppResponse.aspx" id="frmJ"><input type="hidden" name="hppResponse" value="{"CAVV":"","SHIPPING_CODE":"NTAwMDE=","SRD":"YmgyUGZ0aHpNc3p5b21JQg==","CVNRESULT":"TQ==","HPP_CUSTOMER_PHONENUMBER_MOBILE":"NDR8MDcxMjM0NTY3ODk=","HPP_SHIPPING_STREET3":"SG91c2UgOTYz","HPP_SHIPPING_STREET1":"QXBhcnRtZW50IDgyNQ==","PASREF":"MTU5NzE0MTYxMzc3Mzg5Mg==","HPP_SHIPPING_STREET2":"Q29tcGxleCA3NDE=","MESSAGE":"WyB0ZXN0IHN5c3RlbSBdIEFVVEhPUklTRUQ=","BILLING_CODE":"VzUgOUhS","DS_TRANS_ID":"MmE4NDJiMzYtNDMyMi00MDhhLWE0NTAtNGQ4YjNhYmVhNWY0","ACCOUNT":"aW50ZXJuZXQ=","AVSPOSTCODERESULT":"TQ==","AMOUNT":"MTk5OQ==","TIMESTAMP":"MjAyMDA4MTExMTI2NDU=","pas_uuid":"NTJhZDllOWEtMmE5Ny00NGI4LTkzZjAtNDU3NTRjZjZmN2Rm","HPP_BILLING_STREET3":"VW5pdCA0","HPP_ADDRESS_MATCH_INDICATOR":"RkFMU0U=","HPP_BILLING_STREET2":"SG91c2UgNDU2","AUTHCODE":"MTIzNDU=","HPP_BILLING_STREET1":"RmxhdCAxMjM=","HPP_BILLING_CITY":"SGFsaWZheA==","HPP_SHIPPING_COUNTRY":"ODQw","AVSADDRESSRESULT":"TQ==","HPP_SHIPPING_POSTALCODE":"NTAwMDE=","AUTHENTICATION_VALUE":"TVRJek5EVTJOeWc1TURBNU9EYzJOVFF6TWpFPQ==","HPP_BILLING_POSTALCODE":"VzUgOUhS","ECI":"MDU=","HPP_BILLING_COUNTRY":"ODI2","MESSAGE_VERSION":"Mi4xLjA=","BATCHID":"ODIwMTky","XID":"","SHA1HASH":"Y2I1OWE4ZjYwNjkwZjQxOGViZTUzNmYyMzEwNzhlNzk2OTY1ZDM3ZA==","HPP_SHIPPING_CITY":"Q2hpY2Fnbw==","ORDER_ID":"NkprblJWMFc1a1dUa1gtaGFNOU9Cdw==","BILLING_CO":"ODI2","HPP_SHIPPING_STATE":"SUw=","HPP_CUSTOMER_EMAIL":"amFtZXMubWFzb25AZXhhbXBsZS5jb20=","RESULT":"MDA=","SHIPPING_CO":"ODQw","MERCHANT_ID":"Uk1JQ29uc29ydGl1bVRlc3Q="}"></form>"
One more info is form.submit(); at this line i see in QuickWatch it says 'undefined'
please let me know if you need any more info.
thanks jey
I'm not sure what you mean exactly by One more info is form.submit(); at this line i see in QuickWatch it says 'undefined'
It says what is undefined? form
?
If the browser is being redirected to HppResponse.aspx that means the form is submitting. Can you see from the Browser Developer Tools (or whatever you are using to inspect the code) - when the browser is redirect to HppResponse.aspx the form data should be included which is the JSON response string?
@seanmacdomhnall-gp
when i inspect from chrome browser the page looks like below and there is no hppResponse hidden object https://snipboard.io/mKY2Mb.jpg
Is that screenshot from when you inspect the page on HppResponse.aspx
?
yes, its from HppResponse.aspx inspect screenshot
I would not expect there to be a hppResponse
object on HppResponse.aspx
the client-side unless you have written the code to create one.
When form.submit()
triggers it sends a HTTP POST to HppResponse.aspx
and also redirects the browser there.
So now we're back to your server-side code from earlier, where you want to grab the value of the POST.
For .NET that's var __hppResponse = Request.Form["hppResponse"];
(or whatever server-side method you wish to use to do this).
@seanmacdomhnall-gp
I have 2 pages, Pay.aspx and HppResponse.aspx
From Pay.aspx its open lightbox HPP, there i enter CC details then its redirected to HppResponse.asox
On HppResponse.aspx Page_load event i tried to run the code
var __hppResponse = Request.Form["hppResponse"];
(server side code)
but, it returns only null value since, there is no object as "hppResponse" So, i tried to execute the same code at Page_Init event (server side code) then also returns null;
after that only i realized that the client side JS the <form>.....</form>
is not submitted.
I dont know what to do; thats why seeking your help.
thanks jey
When you say
<form>.....</form>
is not submitted.
What form are you referring to? It cannot be the form created by rxp-hpp.js, we know that is submitted from the fact that the browser is redirected HppResponse.aspx.
So I guess the next question is why, on the server-side, HppResponse.aspx cannot pick up the value of the HTTP POST that contains hppResponse?
What form are you referring to? It cannot be the form created by rxp-hpp.js, we know that is submitted from the fact that the browser is redirected HppResponse.aspx.
below is my HppResponse.aspx, there after post nothing is generated
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HppResponse.aspx.cs" Inherits="WebApplication3DsV2.HPP.HppResponse" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>
So I guess the next question is why, on the server-side, HppResponse.aspx cannot pick up the value of the HTTP POST that contains hppResponse? Yes you are right, i also have the same question
@seanmacdomhnall-gp my biggest doubt is, the form is not submitted, thats why there is no hppResponse hidden object preset in HppResponse.aspx if so, what shall we do?!!
please help me
The form must be submitted, otherwise the redirection to HppResponse.aspx would not occur.
Can you share the code that exists here: HppResponse.aspx.cs
@seanmacdomhnall-gp below is the code behind of HppResponse.aspx.cs
`using GlobalPayments.Api; using GlobalPayments.Api.Entities; using GlobalPayments.Api.Services; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls;
namespace WebApplication3DsV2.HPP { public partial class HppResponse : System.Web.UI.Page { string strDbMode = "QA";
protected void Page_Init(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
var __VIEWSTATEGENERATOR = Request.Form["__VIEWSTATEGENERATOR"];
var __VIEWSTATE = Request.Form["__VIEWSTATE"];
var __hppResponse = Request.Form["hppResponse"];
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
var __VIEWSTATEGENERATOR = Request.Form["__VIEWSTATEGENERATOR"];
var __VIEWSTATE = Request.Form["__VIEWSTATE"];
var __hppResponse = Request.Form["hppResponse"];
}
//ProcessResponse();
}
}`
Hi @Jey-Vclub, I can't really see anything from what you have posted. Are you able to see the JSON string hit the server-side at all? For example, in the network logs?
@seanmacdomhnall-gp thanks for your update.
sorry no json comes to HppResponse.aspx and aspx.cs(meant server side). If we fixed to have html text return from HPP iframe on HppResponse.aspx then the problem is resolved but, that is the problem. seriously more than 2 weeks im trying in many different ways but, nothing helped me, as well 3d security dead line is nearby.
@seanmacdomhnall-gp
I have created new project so, below are the steps i did
Create new web form application project using .net framework 4.7.2 from Visual Studio 2019, set project name as 3dSecurityHPP
Delete all .aspx files from root directory. Create 2 new web forms called Pay.aspx and Response.aspx
Pay.aspx code is below
`<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Pay.aspx.cs" Inherits="_3dSecurityHPP.Pay" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="https://code.jquery.com/jquery-3.5.0.js"></script>
<script src="Scripts/LibGlobalPay/rxp-hpp.js"></script>
<script>
$(document).ready(function () {
//alert("script start");
if ($("#MyHidden").val() == "1") {
$("#MyHidden").val("2");
$.getJSON("pay.json", function (jsonFromRequestEndpoint) {
//alert("before start sethppurl");
//jsonFromRequestEndpoint = $("#hdnJson").val();
//alert(jsonFromRequestEndpoint.ORDER_ID);
RealexHpp.setHppUrl("https://pay.sandbox.realexpayments.com/pay");
//alert("after sethppurl");
RealexHpp.lightbox.init("payButtonId", "https://localhost:44386/Response.aspx", jsonFromRequestEndpoint);
//$('body').addClass('loaded');
});
}
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="submit" id="payButtonId" value="Checkout Now" onclick="return false" />
<asp:HiddenField ID="MyHidden" runat="server" Value="1" />
</div>
</form>
</body>
</html>
`
Installed GlobalPaymentAPI version 1.6.9 since, the lattest version gives error in next step at line var service = new HostedService(new GatewayConfig so, i used v 1.6.9
Pay.aspx..cs (server side code is like below) `using GlobalPayments.Api; using GlobalPayments.Api.Entities; using GlobalPayments.Api.Services; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;
namespace _3dSecurityHPP { public partial class Pay : System.Web.UI.Page { static string strDbMode = "QA"; protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { HPPResponse(); } //var __hppResponse = Request.Form["hppResponse"]; }
public string HPPResponse()
{
// configure client, request and HPP settings
var service = new HostedService(new GatewayConfig
{
MerchantId = (strDbMode != "Live" ? CommonConstant.MerchantId : CommonConstant.MerchantId.Replace("Test", string.Empty)),
AccountId = CommonConstant.AccountId,
SharedSecret = CommonConstant.SharedSecret,
ServiceUrl = "https://pay.sandbox.realexpayments.com/pay",
HostedPaymentConfig = new HostedPaymentConfig
{
Version = "2"
}
});
// Add 3D Secure 2 Mandatory and Recommended Fields
var hostedPaymentData = new HostedPaymentData
{
CustomerEmail = "james.mason@example.com",
CustomerPhoneMobile = "44|07123456789",
AddressesMatch = false
};
var billingAddress = new Address
{
StreetAddress1 = "Flat 123",
StreetAddress2 = "House 456",
StreetAddress3 = "Unit 4",
City = "Halifax",
PostalCode = "W5 9HR",
Country = "826"
};
var shippingAddress = new Address
{
StreetAddress1 = "Apartment 825",
StreetAddress2 = "Complex 741",
StreetAddress3 = "House 963",
City = "Chicago",
State = "IL",
PostalCode = "50001",
Country = "840",
};
try
{
var jsonFromRequestEndpoint = service.Charge(19.99m)
.WithCurrency("EUR")
.WithHostedPaymentData(hostedPaymentData)
.WithAddress(billingAddress, AddressType.Billing)
.WithAddress(shippingAddress, AddressType.Shipping)
.Serialize();
//hdnJson.Value = Newtonsoft.Json.JsonConvert.SerializeObject(jsonFromRequestEndpoint);
JToken token = JToken.Parse(jsonFromRequestEndpoint);
JObject json = JObject.Parse(Convert.ToString(token));
// serialize JSON to a string and then write string to a file
File.WriteAllText(Server.MapPath("") + "\\" + "Pay.json", JsonConvert.SerializeObject(json));
return jsonFromRequestEndpoint;
// TODO: pass the HPP request JSON to the JavaScript, iOS or Android Library
}
catch (ApiException exce)
{
return exce.Message;
// TODO: Add your error handling here
}
}
}
}`
Create Pay.json file in root directory itself.
Create folder called LibGlobalPay under Scripts folder, there copy paste js file from https://raw.githubusercontent.com/globalpayments/rxp-js/master/lib/rxp-hpp.js
7.1 CommonConstant.cs is a static class file to keep shared secret, Merchant id etc.,
`<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Response.aspx.cs" Inherits="_3dSecurityHPP.Response" %>
<!DOCTYPE html>
`
9. below is the code of Response.aspx.cs(server side code)
`using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace _3dSecurityHPP
{
public partial class Response : System.Web.UI.Page
{
string strDbMode = "QA";
protected void Page_Init(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
var __VIEWSTATEGENERATOR = Request.Form["__VIEWSTATEGENERATOR"];
var __VIEWSTATE = Request.Form["__VIEWSTATE"];
var __hppResponse = Request.Form["hppResponse"];
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
var __VIEWSTATEGENERATOR = Request.Form["__VIEWSTATEGENERATOR"];
var __VIEWSTATE = Request.Form["__VIEWSTATE"];
var __hppResponse = Request.Form["hppResponse"];
}
//ProcessResponse();
}
}
}`
10. set Pay.aspx as start page and run there when i click **payButtonId** id then HPP pops up, there i gave CC as 4263970000005262, CVV as any 3 digit, exp. as 12/21, card holder JEY and click "Proceed to verification" button
11. No problem raised so, automatically moved into Response.aspx there is no hppResponse generated.
So, the same issue continues. Could you please take my source code and try to reproduce the issue from your end.
Kindly let me know if you need any more info.
thank you very mcuh
jey #
good morning @seanmacdomhnall-gp
was that my post helpful to reproduce the issue!!?
thanks jey
Good morning @seanmacdomhnall-gp
Is there any good improvement about my query!!?
thanks jey
Hello @seanmacdomhnall-gp
Did you get a chance to resolve this issue?
Kindly let me know if you need more details, we are awaiting since, its very important issue.
thanks jey
Hi @Jey-Vclub, please reach out to ecomsupport@globalpay.com or your Global Payments account manager for further escalation steps. There is not much more we can do in this thread and this should be handled by our Operations Team. Thanks.
Many times I reached your ecom support team but, no response from them as well they stopped phone support too. After that only I posted to here.
How do I find my payments account manager?
Thanks Jey
Thanks & Regards Jey Technical Architect & Business Analyst Leisure Dimensions Ltd Platform Development & Support Team
Working Hours :9:00 to 18:00 hrs (PT)
Email :VClub.IT@MuthuHotelsMGM.com
Ext: 3016
Reg. Platform, Elo-Si & www.LeisureDimensions.comhttp://www.LeisureDimensions.com website issues, please create ticket from here with proper screenshots and steps to re-produce the issue. We’ll getback in 24 working hours.
From: Seán MacDomhnall notifications@github.com Sent: Tuesday, August 18, 2020 2:00:03 PM To: globalpayments/globalpayments-3ds-js globalpayments-3ds-js@noreply.github.com Cc: Jeyaseelan J vclub.it@muthuhotelsmgm.com; Mention mention@noreply.github.com Subject: Re: [globalpayments/globalpayments-3ds-js] 3d secure v2 (#14)
Hi @Jey-Vclubhttps://github.com/Jey-Vclub, please reach out to ecomsupport@globalpay.commailto:ecomsupport@globalpay.com or your Global Payments account manager for further escalation steps. There is not much more we can do in this thread and this should be handled by our Operations Team. Thanks.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/globalpayments/globalpayments-3ds-js/issues/14#issuecomment-675463439, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQMSVUYU4UI76VZ7H4VWYC3SBJ3NHANCNFSM4PHDHWCQ.
I have spoken to my colleague on the Support Team who is going to reach out to you.
Hello all,
Im using global payments sdk to make payments with 3d secure version2. I did some POC using their SDK and its ok.
But, i do have very less knowledge about design payment gateway page with global payments
any one of you, please help me how to collect card details, pass it to global payments with 3d secure v2, incase if the card is not enabled for 3ds v2 then it has work by normal payment methodology.
experts please help me
thanks jey