Click the button to make a payment to TP

5232105022907162 Jane Jones 03/2025 204 (classic, NO 3d)
4200000000000091 Jane Jones 05/2031 123 (Secured 3d)

TP docs: https://totalprocessing.docs.oppwa.com/tutorials/server-to-server

BACK

1) On submit, call backend on /makePayment which fires the following to TP

            POST eu-test.oppwa.com:443/v1/payments
            Authorization: 'Bearer OGFj**************************J5NQ=='

            REQUEST
            {
                entityId: '8ac7a4ca880534c801880575423200b5',
                amount: 50,
                currency: 'EUR',
                paymentBrand: 'VISA',
                paymentType: 'DB',
                shopperResultUrl: FE_URL,
                createRegistration: true,
                'card.number': 4200********0091,
                'card.holder': 'Jane Jones',
                'card.expiryMonth': '05',
                'card.expiryYear': 2031,
                'card.cvv': 123,
                'threeDSecure.challengeIndicator': 4,
                'customer.browser.acceptHeader': 'text/html',
                'customer.browser.screenColorDepth': 48,
                'customer.browser.javaEnabled': false,
                'customer.browser.language': 'en',
                'customer.browser.screenHeight': 1200,
                'customer.browser.screenWidth': 1600,
                'customer.browser.timezone': 60,
                'customer.browser.challengeWindow': 4,
                'customer.browser.userAgent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
                Chrome/119.0.0.0 Safari/537.36',
            }

            RESPONSE
            {
                "id": "8ac7a49f8e320e7c018e337207d539f0",
                "registrationId": "8ac7a4a18e320e79018e337206f8475e",
                "paymentType": "DB",
                "paymentBrand": "VISA",
                "result": {
                    "code": "000.200.000",
                    "description": "transaction pending"
                },
                "card": {
                    "bin": "420000",
                    "last4Digits": "0091",
                    "holder": "Jane Jones",
                    "expiryMonth": "05",
                    "expiryYear": "2031"
                },
                "customer": {
                    "browser": {
                        "acceptHeader": "text/html",
                        "language": "en",
                        "screenHeight": "1200",
                        "screenWidth": "1600",
                        "timezone": "60",
                        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
                        "javaEnabled": "false",
                        "screenColorDepth": "48",
                        "challengeWindow": "4"
                    }
                },
                "threeDSecure": {
                    "challengeIndicator": "4"
                },
                "customParameters": {
                    "OPP_card.bin": "420000"
                },
                "redirect": {
                    "url": "https://test.ppipe.net/connectors/asyncresponse_simulator;jsessionid=657ED5B55BAE06F0BC94FF04006112E1.uat01-vm-con01?asyncsource=ACI_3DS_2&type=methodRedirect&cdkForward=true&ndcid=8ac7a4ca880534c801880575423200b5_0a0b06a37df94ab6b671336706f210b1",
                    "parameters": [],
                    "preconditions": [
                        {
                            "origin": "iframe#hidden",
                            "waitUntil": "iframe#load",
                            "description": "Hidden iframe post for 3D Secure 2.0",
                            "url": "https://test.ppipe.net/connectors/demo/submit?action=ACI3DS2AccessControlServer&acsRequest=METHOD",
                            "method": "POST",
                            "parameters": [
                                {
                                    "name": "threeDSMethodData",
                                    "value": "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly90ZXN0Lm9wcHdhLmNvbS9jb25uZWN0b3JzL2FyX3NpbXVsYXRvci8zZHMyO2pzZXNzaW9uaWQ9NjU3RUQ1QjU1QkFFMDZGMEJDOTRGRjA0MDA2MTEyRTEudWF0MDEtdm0tY29uMDE_YXN5bmNzb3VyY2U9QUNJXzNEU18yJnR5cGU9bWV0aG9kTm90aWZpY2F0aW9uJm5kY2lkPThhYzdhNGNhODgwNTM0YzgwMTg4MDU3NTQyMzIwMGI1XzBhMGIwNmEzN2RmOTRhYjZiNjcxMzM2NzA2ZjIxMGIxIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiJlOGMwOGRjMC02MmNkLTQ2OTUtODgyYS1kZTRhNTQ0NjA3ZTQifQ"
                                }
                            ]
                        }
                    ]
                },
                "risk": {
                    "score": "0"
                },
                "buildNumber": "4cf0da2a0da510e18c9a3ee629818eeb6bd84fff@2024-03-07 15:31:01 +0000",
                "timestamp": "2024-03-12 16:14:54+0000",
                "ndc": "8ac7a4ca880534c801880575423200b5_0a0b06a37df94ab6b671336706f210b1"
            }
        

2) When TP redirect to shopperResultUrl, we call backend on /verifyPaymentRequest which fires the following to TP

            GET eu-test.oppwa.com:443/v1/payments/${8ac7a49f8e320e7c018e337207d539f0}?entityId=8ac7a4ca880534c801880575423200b5
            Authorization: 'Bearer OGFj**************************J5NQ=='
            
            REQUEST
            {--empty}
            
            RESPONSE
            {
                "id": "8ac7a49f8e320e7c018e337207d539f0",
                "registrationId": "8ac7a4a18e320e79018e337206f8475e",
                "paymentType": "DB",
                "paymentBrand": "VISA",
                "amount": "50.00",
                "currency": "EUR",
                "descriptor": "3749.2025.4100 allyourbooks-net - TEST - 3DV2",
                "result": {
                    "code": "000.100.110",
                    "description": "Request successfully processed in 'Merchant in Integrator Test Mode'"
                },
                "card": {
                    "bin": "420000",
                    "last4Digits": "0091",
                    "holder": "Jane Jones",
                    "expiryMonth": "05",
                    "expiryYear": "2031"
                },
                "threeDSecure": {
                    "eci": "05",
                    "verificationId": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
                    "version": "2.2.0",
                    "dsTransactionId": "4967c943-3842-418c-a9f1-698b937cf26b",
                    "challengeMandatedIndicator": "N",
                    "acsTransactionId": "29bcfac9-89ea-4a3f-b222-5c86dc86e62f",
                    "cardHolderInfo": "",
                    "authType": "01",
                    "flow": "challenge",
                    "authenticationStatus": "Y"
                },
                "customParameters": {
                    "CTPE_DESCRIPTOR_TEMPLATE": ""
                },
                "risk": {
                    "score": "0"
                },
                "buildNumber": "4cf0da2a0da510e18c9a3ee629818eeb6bd84fff@2024-03-07 15:31:01 +0000",
                "timestamp": "2024-03-12 16:15:51+0000",
                "ndc": "8ac7a4ca880534c801880575423200b5_7355156198c84194894ac39532b72c2f"
            }