From 4941a8b8e2b86cbd89fee8511cc38eb41d8189bf Mon Sep 17 00:00:00 2001 From: kasam <99730986+skasam2210@users.noreply.github.com> Date: Tue, 28 Feb 2023 16:46:58 +0100 Subject: [PATCH] Feb updates (#116) * Update 02-general-integration-options.adoc * Update 22-integration-guides.adoc * Update one-time-payment-option-one.postman_collection.json * Update 00-home.adoc * Update ssl-certificates.adoc --------- Co-authored-by: HDjebali <119948193+HDjebali@users.noreply.github.com> --- .../index/api-reference/ssl-certificates.adoc | 11 +++ content/index/home/00-home.adoc | 9 ++- .../22-integration-guides.adoc | 13 +++ .../02-general-integration-options.adoc | 14 ++++ ...payment-option-one.postman_collection.json | 81 ++++++++++++------- 5 files changed, 97 insertions(+), 31 deletions(-) diff --git a/content/index/api-reference/ssl-certificates.adoc b/content/index/api-reference/ssl-certificates.adoc index b3f79ef0c..c4cac7bdb 100644 --- a/content/index/api-reference/ssl-certificates.adoc +++ b/content/index/api-reference/ssl-certificates.adoc @@ -1,7 +1,18 @@ [#ssl_certificates] == SSL Certificates You find in this section the certificates which secure the connection between the Merchant and {payment-gateway} secure (e.g. "certificate pinning"). +[NOTE] +==== +- Connections to our test and production web sites and services must not be locked on target IP address. The IP addresses of our services will become dynamic, therefore usage of FQDN or URL-based filtering for outgoing connections would be adequate. + +- New digital certificates will be issued and applied on our applications. If your applications use certificate pinning, TLS connections will generate encryption errors. We advise against certificate pinning in general as a practice and kindly ask to allow the new certificates coming from our side. + +- The digital certificates behind our servers will require the usage of SNI (Server Name Indication) feature for which we kindly ask you to make sure that it is activated. Without this option enabled on the client side, TLS encrypted connections may end up with errors. As the Akamai Web Application Firewall (WAF) is a cloud based service, our applications will dynamically resolve in their DNS names therefore the SNI TLS extension is required to be enabled. + +- Customer side applications using HTTP request headers bigger than 32Kbytes will encounter connection errors. As of industry practices, even 16Kbytes is sufficient and we kindly ask to implement this limit. Nevertheless, if your applications require more, kindly contact us for this matter. +//- +==== [#ssl_testenvironment] === Test Environment diff --git a/content/index/home/00-home.adoc b/content/index/home/00-home.adoc index d57dcfadf..7e454f366 100644 --- a/content/index/home/00-home.adoc +++ b/content/index/home/00-home.adoc @@ -116,7 +116,14 @@ a| image::images/icons/info.png[note_icon] 2.+a| -Changes will be announced here +- Connections to our test and production web sites and services must not be locked on target IP address. The IP addresses of our services will become dynamic, therefore usage of FQDN or URL-based filtering for outgoing connections would be adequate. + +- New digital certificates will be issued and applied on our applications. If your applications use certificate pinning, TLS connections will generate encryption errors. We advise against certificate pinning in general as a practice and kindly ask to allow the new certificates coming from our side. + +- The digital certificates behind our servers will require the usage of SNI (Server Name Indication) feature for which we kindly ask you to make sure that it is activated. Without this option enabled on the client side, TLS encrypted connections may end up with errors. As the Akamai Web Application Firewall (WAF) is a cloud based service, our applications will dynamically resolve in their DNS names therefore the SNI TLS extension is required to be enabled. + +- Customer side applications using HTTP request headers bigger than 32Kbytes will encounter connection errors. As of industry practices, even 16Kbytes is sufficient and we kindly ask to implement this limit. Nevertheless, if your applications require more, kindly contact us for this matter. + |=== [cols=",,"] diff --git a/content/index/integration-guides/22-integration-guides.adoc b/content/index/integration-guides/22-integration-guides.adoc index 1ed20a85f..f01427452 100644 --- a/content/index/integration-guides/22-integration-guides.adoc +++ b/content/index/integration-guides/22-integration-guides.adoc @@ -1,3 +1,16 @@ [#IntegrationGuides] == Integration Guides +[NOTE] +==== +- Connections to our test and production web sites and services must not be locked on target IP address. The IP addresses of our services will become dynamic, therefore usage of FQDN or URL-based filtering for outgoing connections would be adequate. + +- New digital certificates will be issued and applied on our applications. If your applications use certificate pinning, TLS connections will generate encryption errors. We advise against certificate pinning in general as a practice and kindly ask to allow the new certificates coming from our side. + +- The digital certificates behind our servers will require the usage of SNI (Server Name Indication) feature for which we kindly ask you to make sure that it is activated. Without this option enabled on the client side, TLS encrypted connections may end up with errors. As the Akamai Web Application Firewall (WAF) is a cloud based service, our applications will dynamically resolve in their DNS names therefore the SNI TLS extension is required to be enabled. + +- Customer side applications using HTTP request headers bigger than 32Kbytes will encounter connection errors. As of industry practices, even 16Kbytes is sufficient and we kindly ask to implement this limit. Nevertheless, if your applications require more, kindly contact us for this matter. + + +//- +==== diff --git a/content/index/integration-options/02-general-integration-options.adoc b/content/index/integration-options/02-general-integration-options.adoc index c5ae66367..dc9a78add 100644 --- a/content/index/integration-options/02-general-integration-options.adoc +++ b/content/index/integration-options/02-general-integration-options.adoc @@ -10,6 +10,20 @@ There are multiple integration options available for {payment-gateway}. described under <>. However, the description of payment methods, for example, is common for both Payment Page and REST API. +//- +==== + +[NOTE] +==== +- Connections to our test and production web sites and services must not be locked on target IP address. The IP addresses of our services will become dynamic, therefore usage of FQDN or URL-based filtering for outgoing connections would be adequate. + +- New digital certificates will be issued and applied on our applications. If your applications use certificate pinning, TLS connections will generate encryption errors. We advise against certificate pinning in general as a practice and kindly ask to allow the new certificates coming from our side. + +- The digital certificates behind our servers will require the usage of SNI (Server Name Indication) feature for which we kindly ask you to make sure that it is activated. Without this option enabled on the client side, TLS encrypted connections may end up with errors. As the Akamai Web Application Firewall (WAF) is a cloud based service, our applications will dynamically resolve in their DNS names therefore the SNI TLS extension is required to be enabled. + +- Customer side applications using HTTP request headers bigger than 32Kbytes will encounter connection errors. As of industry practices, even 16Kbytes is sufficient and we kindly ask to implement this limit. Nevertheless, if your applications require more, kindly contact us for this matter. + + //- ==== diff --git a/content/resources/3-d-secure-2/usecase_pm-collection/one-time-payment-option-one.postman_collection.json b/content/resources/3-d-secure-2/usecase_pm-collection/one-time-payment-option-one.postman_collection.json index fbcddda9b..c2e614f21 100644 --- a/content/resources/3-d-secure-2/usecase_pm-collection/one-time-payment-option-one.postman_collection.json +++ b/content/resources/3-d-secure-2/usecase_pm-collection/one-time-payment-option-one.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "a58edc9d-fd9d-4cde-9ec4-6936f546e8dd", + "_postman_id": "ed939281-73d9-4763-bbf9-137f9cc9cab1", "name": "one-time-payment", "description": "One-time purchase is one of the most common scenarios: a consumer places an order for a product or service. The merchant fulfills the order in a single shipment and before expiration of the authorization.\r\n\r\na. Immediately\r\n\ti. Authentication (full amount)\r\n\tii. Purchase (full amount)\r\n\r\n", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" @@ -13,7 +13,6 @@ "listen": "test", "script": { "exec": [ - "// Convert XML output to JSON format\r", "var xml2JsonData = xml2Json(responseBody);\r", "\r", "var xml = cheerio.load(responseBody, {\r", @@ -21,8 +20,6 @@ " xmlMode: true\r", "});\r", "\r", - "//console.log(xml.xml()); // Serialize the jQuery as a string\r", - "\r", "pm.globals.set(\"$p_guwid_enroll\", xml(\"payment\").find(\"transaction-id\").text());\r", "pm.globals.set(\"$pareq\", xml(\"payment\").find(\"three-d\").find(\"pareq\").text());\r", "pm.globals.set(\"$acs_url\", xml(\"payment\").find(\"three-d\").find(\"acs-url\").text());\r", @@ -56,7 +53,6 @@ "listen": "prerequest", "script": { "exec": [ - "", "var guid = (function() {", " function s4() {", " return Math.floor((1 + Math.random()) * 0x10000)", @@ -70,16 +66,16 @@ "})();", "", "pm.globals.set(\"$descriptor\", \"3DS-2 Use-Cases: One-Time Purchase - Simplified\");", - "pm.globals.set(\"$handler\", guid());", - "console.info(\"UUID: \"+pm.globals.get(\"$handler\"));", + "pm.globals.set(\"$guid\", guid());", + "console.info(\"UUID: \"+pm.globals.get(\"$guid\"));", "", "", "pm.globals.set(\"$p_guwid\", null);", "pm.globals.set(\"$p_guwid_enroll\", null);", "pm.globals.set(\"$p_guwid_check\", null);", - "pm.globals.set(\"$p_guwid_auth_1\", null);", - "pm.globals.set(\"$p_guwid_auth_2\", null);", - "pm.globals.set(\"$p_guwid_auth_only\", null);", + "pm.globals.set(\"$p_guwid_purch\", null);", + "", + "", "", "", "pm.globals.set(\"$pares\", null);", @@ -96,12 +92,12 @@ "basic": [ { "key": "password", - "value": "2NQBnucU19mY", + "value": "4cHLRE-Q7YcAP", "type": "string" }, { "key": "username", - "value": "84320-getneteurope", + "value": "515225-GetnetEuropeTEST", "type": "string" } ] @@ -122,7 +118,7 @@ ], "body": { "mode": "raw", - "raw": "\n\n 5c4a8a42-04a8-4970-a595-262f0ba0a108\n {{$guid}}\n check-enrollment\n 10.00\n \n \n \n \n Manon\n Mertens\n m.mertens@example.com\n +3228089336\n +32496000000\n
\n Rue de la Loi 1\n Brussels\n BRU\n BE\n 1000\n
\n https://demoshop-test.getneteurope.com/demoshop/#/cancel\n https://demoshop-test.getneteurope.com/demoshop/#/error\n https://demoshop-test.getneteurope.com/demoshop/#/success\n 01\n XWLfrzuGhpajYxFiFgNScwcLhtIOvXNxMIcrxIPTHqgroaFiPNDqMxGBXYUhMVBZ\n \n 01\n 2019-05-05T21:46:00.000Z\n 01\n 2019-05-05Z\n 2019-06-07Z\n 2019-06-08Z\n 2019-06-09Z\n 1\n 10\n 2\n 4\n false\n 2018-06-16Z\n \n
\n \n Manon\n Mertens\n
\n Rue de la Loi 1\n Brussels\n BRU\n BE\n 1000\n
\n home_delivery\n
\n \n 5413330300002004\n 01\n 2025\n 004\n mastercard\n 02\n \n 127.0.0.1\n {{$handler}}\n {{$descriptor}}\n \n \n \n \n \n 01\n 01\n \n \n \n 360\n 800x600\n 01\n 48\n true\n en\n \n \n 01\n m.mertens@example.com\n 04\n \n \n 9.99\n \n \n 2019-07-16Z\n 01\n \n
" + "raw": "\n\n 5c4a8a42-04a8-4970-a595-262f0ba0a108\n {{$guid}}\n check-enrollment\n 10.00\n \n \n \n \n Manon\n Mertens\n m.mertens@example.com\n +3228089336\n +32496000000\n
\n Rue de la Loi 1\n Brussels\n BRU\n BE\n 1000\n
\n https://demoshop-test.getneteurope.com/demoshop/#/cancel\n https://demoshop-test.getneteurope.com/demoshop/#/error\n https://demoshop-test.getneteurope.com/demoshop/#/success\n 01\n XWLfrzuGhpajYxFiFgNScwcLhtIOvXNxMIcrxIPTHqgroaFiPNDqMxGBXYUhMVBZ\n \n 01\n 2019-05-05T21:46:00.000Z\n 01\n 2019-05-05Z\n 2019-06-07Z\n 2019-06-08Z\n 2019-06-09Z\n 1\n 10\n 2\n 4\n false\n 2018-06-16Z\n \n
\n \n Manon\n Mertens\n
\n Rue de la Loi 1\n Brussels\n BRU\n BE\n 1000\n
\n home_delivery\n
\n \n 5413330300201192\n 01\n 2025\n 192\n mastercard\n 02\n \n \n 2.1.0\n \n 127.0.0.1\n {{$handler}}\n {{$descriptor}}\n \n \n \n \n \n 01\n 01\n \n \n \n 360\n 800x600\n 01\n 48\n true\n en\n \n \n 01\n m.mertens@example.com\n 04\n \n \n 9.99\n \n \n 2019-07-16Z\n 01\n \n
" }, "url": { "raw": "https://api-test.getneteurope.com/engine/rest/payments/", @@ -162,7 +158,7 @@ "raw": "" }, "url": { - "raw": "https://api-test.getneteurope.com/engine/rest/payments/", + "raw": "https://api-test.wirecard.com/engine/rest/payments/", "protocol": "https", "host": [ "api-test", @@ -336,7 +332,7 @@ "raw": "" }, "url": { - "raw": "https://api-test.getneteurope.com/engine/rest/payments/", + "raw": "https://api-test.wirecard.com/engine/rest/payments/", "protocol": "https", "host": [ "api-test", @@ -416,7 +412,21 @@ "listen": "prerequest", "script": { "exec": [ - "" + "var guid = (function() {\r", + " function s4() {\r", + " return Math.floor((1 + Math.random()) * 0x10000)\r", + " .toString(16)\r", + " .substring(1);\r", + " }\r", + " return function() {\r", + " return s4() + s4() + '-' + s4() + '-' + s4() + '-' +\r", + " s4() + '-' + s4() + s4() + s4();\r", + " };\r", + "})();\r", + "\r", + "pm.globals.set(\"$descriptor\", \"3DS-2 Use-Cases: One-Time Purchase - Simplified\");\r", + "pm.globals.set(\"$guid\", guid());\r", + "console.info(\"UUID: \"+pm.globals.get(\"$guid\"));" ], "type": "text/javascript" } @@ -450,10 +460,6 @@ "", "pm.test(\"Check Payer Response Transaction ID: \"+pm.globals.get(\"$p_guwid_check\"), function(){", " pm.expect(pm.globals.get(\"$p_guwid_check\")).not.equal(null);", - "});", - "", - "pm.test(\"3DS Version: \"+xml(\"payment\").find(\"three-d\").find(\"version\").text(), function(){", - " pm.expect(xml(\"payment\").find(\"three-d\").find(\"version\").text()).to.equal(\"2.1.0\");", "});" ], "type": "text/javascript" @@ -465,13 +471,13 @@ "type": "basic", "basic": [ { - "key": "username", - "value": "84320-getneteurope", + "key": "password", + "value": "4cHLRE-Q7YcAP", "type": "string" }, { - "key": "password", - "value": "2NQBnucU19mY", + "key": "username", + "value": "515225-GetnetEuropeTEST", "type": "string" } ] @@ -492,7 +498,7 @@ ], "body": { "mode": "raw", - "raw": "\n\n 5c4a8a42-04a8-4970-a595-262f0ba0a108\n {{$guid}}\n check-payer-response\n {{$p_guwid_enroll}}\n \n {{$pares}}\n \n {{$handler}}\n {{$descriptor}}\n" + "raw": "\n\n 5c4a8a42-04a8-4970-a595-262f0ba0a108\n {{$guid}}\n check-payer-response\n {{$p_guwid_enroll}}\n \n {{$pares}}\n 2.1\n \n {{$handler}}\n {{$descriptor}}\n" }, "url": { "raw": "https://api-test.getneteurope.com/engine/rest/payments/", @@ -528,7 +534,7 @@ } ], "url": { - "raw": "https://api-test.getneteurope.com/engine/rest/payments/", + "raw": "https://api-test.wirecard.com/engine/rest/payments/", "protocol": "https", "host": [ "api-test", @@ -639,7 +645,22 @@ "listen": "prerequest", "script": { "exec": [ - "" + "var guid = (function() {\r", + " function s4() {\r", + " return Math.floor((1 + Math.random()) * 0x10000)\r", + " .toString(16)\r", + " .substring(1);\r", + " }\r", + " return function() {\r", + " return s4() + s4() + '-' + s4() + '-' + s4() + '-' +\r", + " s4() + '-' + s4() + s4() + s4();\r", + " };\r", + "})();\r", + "\r", + "pm.globals.set(\"$descriptor\", \"3DS-2 Use-Cases: One-Time Purchase - Simplified\");\r", + "pm.globals.set(\"$guid\", guid());\r", + "pm.globals.set(\"$handler\", \"Order0000001701\");\r", + "console.info(\"UUID: \"+pm.globals.get(\"$guid\"));" ], "type": "text/javascript" } @@ -651,12 +672,12 @@ "basic": [ { "key": "password", - "value": "2NQBnucU19mY", + "value": "4cHLRE-Q7YcAP", "type": "string" }, { "key": "username", - "value": "84320-getneteurope", + "value": "515225-GetnetEuropeTEST", "type": "string" } ] @@ -722,7 +743,7 @@ "raw": "" }, "url": { - "raw": "https://api-test.getneteurope.com/engine/rest/payments/", + "raw": "https://api-test.wirecard.com/engine/rest/payments/", "protocol": "https", "host": [ "api-test",