diff --git a/lib/connect/flows/c3-agent-assisted-payment-ivr-flow.json b/lib/connect/flows/c3-agent-assisted-payment-ivr-flow.json index 19d4c6b..98d3f9f 100644 --- a/lib/connect/flows/c3-agent-assisted-payment-ivr-flow.json +++ b/lib/connect/flows/c3-agent-assisted-payment-ivr-flow.json @@ -50,7 +50,7 @@ "conditions": [], "conditionMetadata": [ { - "id": "44d3c7b7-5079-4909-a017-f7d622b07b76", + "id": "1a126608-3ade-4597-811d-b345c8cef5a0", "operator": { "name": "Equals", "value": "Equals", @@ -69,7 +69,7 @@ "conditions": [], "conditionMetadata": [ { - "id": "9a7213e9-0674-4bda-9e2f-7acef8e9dbca", + "id": "03c43e38-8c70-4d4b-8a8a-75edcb546fff", "operator": { "name": "Equals", "value": "Equals", @@ -102,7 +102,7 @@ "conditions": [], "conditionMetadata": [ { - "id": "6a613f03-7680-46d6-89a1-cc0c9f93ce57", + "id": "859d9da5-79c7-47d4-90be-7cb938669bea", "operator": { "name": "Equals", "value": "Equals", @@ -121,7 +121,7 @@ "conditions": [], "conditionMetadata": [ { - "id": "fae506c5-0b38-4037-bf37-5ecb56caa848", + "id": "6c13caca-7110-489d-bd20-022f893314d7", "operator": { "name": "Equals", "value": "Equals", @@ -350,49 +350,6 @@ "EventText": false } }, - "Report Payment Submission Error": { - "position": { - "x": 4445.6, - "y": 672.8 - }, - "isFriendlyName": true, - "parameters": { - "LambdaFunctionARN": { - "displayName": "<>" - } - }, - "dynamicMetadata": { - "EventText": false - } - }, - "Tokenize Transaction": { - "position": { - "x": 3539.2, - "y": 382.4 - }, - "isFriendlyName": true, - "parameters": { - "LambdaFunctionARN": { - "displayName": "<>" - } - }, - "dynamicMetadata": {} - }, - "Report Tokenization Error": { - "position": { - "x": 3896, - "y": 845.6 - }, - "isFriendlyName": true, - "parameters": { - "LambdaFunctionARN": { - "displayName": "<>" - } - }, - "dynamicMetadata": { - "EventText": false - } - }, "90dc6a63-2ae9-4c5f-b65f-75348779d0c6": { "position": { "x": 6472.8, @@ -482,7 +439,7 @@ "conditions": [], "conditionMetadata": [ { - "id": "63a18ab3-0086-431b-b9d7-fbc7158a0730", + "id": "ec56e904-05df-4ded-b8d9-e4e09055707b", "operator": { "name": "Contains", "value": "Contains", @@ -499,20 +456,6 @@ }, "isFriendlyName": true }, - "Payment Submission Error": { - "position": { - "x": 4680, - "y": 677.6 - }, - "isFriendlyName": true - }, - "Payment Validation Error": { - "position": { - "x": 4134.4, - "y": 841.6 - }, - "isFriendlyName": true - }, "Returning To Agent": { "position": { "x": 6256.8, @@ -520,14 +463,6 @@ }, "isFriendlyName": true }, - "Redact Sensitive Contact Attributes": { - "position": { - "x": 6037.6, - "y": 699.2 - }, - "isFriendlyName": true, - "dynamicParams": [] - }, "Report Payment Request Error": { "position": { "x": -2365.6, @@ -565,7 +500,7 @@ "conditions": [], "conditionMetadata": [ { - "id": "99d6885c-f524-49e0-a02a-15be81b963c6", + "id": "cfc58e76-ada3-4504-8ef1-6c74e8f06d8b", "operator": { "name": "Is greater than", "value": "GreaterThan", @@ -757,9 +692,10 @@ "y": 561.6 }, "isFriendlyName": true, + "conditions": [], "conditionMetadata": [ { - "id": "eade4def-8d1d-45df-8b9d-163fafc554ac", + "id": "1a12f504-dfc7-4467-a56e-ce020f024740", "operator": { "name": "Starts with", "value": "StartsWith", @@ -768,7 +704,7 @@ "value": "VC" }, { - "id": "d1dfb6a9-4c47-4594-a5c9-dc23f73f65a3", + "id": "7cda8288-48cd-4c22-8a25-bc96e94a75b4", "operator": { "name": "Starts with", "value": "StartsWith", @@ -777,7 +713,7 @@ "value": "BC" }, { - "id": "3937506c-f8b5-4699-8db3-08e6da7def11", + "id": "281e94a1-4320-485f-bf94-5525d8f3f73e", "operator": { "name": "Starts with", "value": "StartsWith", @@ -795,11 +731,11 @@ "isFriendlyName": true, "conditionMetadata": [ { - "id": "2069fddc-428d-47d4-938d-a19946dbd734", + "id": "60feb465-d85e-4f52-9d76-a2fa6f764a5e", "value": "1" }, { - "id": "014c9c5f-dc64-4618-8ab8-d587dba99cef", + "id": "aa4e28cc-b2a5-4992-aa17-757a7c6037fa", "value": "2" } ] @@ -812,11 +748,11 @@ "isFriendlyName": true, "conditionMetadata": [ { - "id": "54b8eb86-6b94-470f-a90c-f4ef5e66bb13", + "id": "d901a937-fdb2-4bbe-8922-034711ff5528", "value": "1" }, { - "id": "c1969c5f-a62a-4a40-9166-eccc8c1479eb", + "id": "c86b55c2-2e57-44f8-a447-f58d6abc799a", "value": "2" } ] @@ -836,19 +772,6 @@ "EventText": false } }, - "Submit Payment": { - "position": { - "x": 4213.6, - "y": 384.8 - }, - "isFriendlyName": true, - "parameters": { - "LambdaFunctionARN": { - "displayName": "<>" - } - }, - "dynamicMetadata": {} - }, "Use Credit Card Again?": { "position": { "x": -129.6, @@ -857,11 +780,11 @@ "isFriendlyName": true, "conditionMetadata": [ { - "id": "34698d5d-aeb2-46df-a3dd-334723c8c10c", + "id": "ce1b4034-72d1-43b6-80cb-09ed68861ecd", "value": "1" }, { - "id": "c23ad035-bb21-4d08-88c8-15b7d9d78723", + "id": "f3feefb8-34cf-4614-977d-b53cf7aa487f", "value": "2" } ] @@ -880,6 +803,92 @@ "dynamicMetadata": { "EventText": false } + }, + "Submit Payment": { + "position": { + "x": 4213.6, + "y": 384.8 + }, + "isFriendlyName": true, + "parameters": { + "LambdaFunctionARN": { + "displayName": "<>" + } + }, + "dynamicMetadata": {} + }, + "Report Payment Submission Error": { + "position": { + "x": 4436, + "y": 663.2 + }, + "isFriendlyName": true, + "parameters": { + "LambdaFunctionARN": { + "displayName": "<>" + } + }, + "dynamicMetadata": { + "EventText": false + } + }, + "Tokenize Transaction": { + "position": { + "x": 3539.2, + "y": 382.4 + }, + "isFriendlyName": true, + "parameters": { + "LambdaFunctionARN": { + "displayName": "<>" + } + }, + "dynamicMetadata": {} + }, + "Report Tokenization Error": { + "position": { + "x": 4440.8, + "y": 872.8 + }, + "isFriendlyName": true, + "parameters": { + "LambdaFunctionARN": { + "displayName": "<>" + } + }, + "dynamicMetadata": { + "EventText": false + } + }, + "Redact Sensitive Contact Attributes": { + "position": { + "x": 6037.6, + "y": 699.2 + }, + "isFriendlyName": true, + "dynamicParams": [] + }, + "Payment Submission Error": { + "position": { + "x": 4680, + "y": 677.6 + }, + "isFriendlyName": true + }, + "Payment Validation Error": { + "position": { + "x": 4684.8, + "y": 881.6 + }, + "isFriendlyName": true + }, + "Remove Failed Payment Token": { + "position": { + "x": 4981.6, + "y": 835.2 + }, + "isFriendlyName": true, + "dynamicParams": [] } }, "Annotations": [], @@ -1457,72 +1466,6 @@ ] } }, - { - "Parameters": { - "LambdaFunctionARN": "<>", - "InvocationTimeLimitSeconds": "8", - "LambdaInvocationAttributes": { - "EventText": "PaymentSubmissionError" - }, - "ResponseValidation": { - "ResponseType": "JSON" - } - }, - "Identifier": "Report Payment Submission Error", - "Type": "InvokeLambdaFunction", - "Transitions": { - "NextAction": "Payment Submission Error", - "Errors": [ - { - "NextAction": "Payment Submission Error", - "ErrorType": "NoMatchingError" - } - ] - } - }, - { - "Parameters": { - "LambdaFunctionARN": "<>", - "InvocationTimeLimitSeconds": "8", - "ResponseValidation": { - "ResponseType": "JSON" - } - }, - "Identifier": "Tokenize Transaction", - "Type": "InvokeLambdaFunction", - "Transitions": { - "NextAction": "Record Token", - "Errors": [ - { - "NextAction": "Report Tokenization Error", - "ErrorType": "NoMatchingError" - } - ] - } - }, - { - "Parameters": { - "LambdaFunctionARN": "<>", - "InvocationTimeLimitSeconds": "8", - "LambdaInvocationAttributes": { - "EventText": "TokenizationError" - }, - "ResponseValidation": { - "ResponseType": "JSON" - } - }, - "Identifier": "Report Tokenization Error", - "Type": "InvokeLambdaFunction", - "Transitions": { - "NextAction": "Payment Validation Error", - "Errors": [ - { - "NextAction": "Payment Validation Error", - "ErrorType": "NoMatchingError" - } - ] - } - }, { "Parameters": { "PreviousContactParticipantState": "OffHold" @@ -1704,38 +1647,6 @@ ] } }, - { - "Parameters": { - "Text": "We're sorry, an error has occured preventing us from submitting your payment. You have not been charged." - }, - "Identifier": "Payment Submission Error", - "Type": "MessageParticipant", - "Transitions": { - "NextAction": "Redact Sensitive Contact Attributes", - "Errors": [ - { - "NextAction": "Redact Sensitive Contact Attributes", - "ErrorType": "NoMatchingError" - } - ] - } - }, - { - "Parameters": { - "Text": "There was a problem validating your $.Attributes.PaymentMethod information." - }, - "Identifier": "Payment Validation Error", - "Type": "MessageParticipant", - "Transitions": { - "NextAction": "Redact Sensitive Contact Attributes", - "Errors": [ - { - "NextAction": "Redact Sensitive Contact Attributes", - "ErrorType": "NoMatchingError" - } - ] - } - }, { "Parameters": { "Text": "Returning you to the agent..." @@ -1752,27 +1663,6 @@ ] } }, - { - "Parameters": { - "Attributes": { - "EncryptedCardNumber": "REDACTED", - "ExpirationDate": "REDACTED", - "EncryptedAccountNumber": "REDACTED" - }, - "TargetContact": "Current" - }, - "Identifier": "Redact Sensitive Contact Attributes", - "Type": "UpdateContactAttributes", - "Transitions": { - "NextAction": "Returning To Agent", - "Errors": [ - { - "NextAction": "Returning To Agent", - "ErrorType": "NoMatchingError" - } - ] - } - }, { "Parameters": { "LambdaFunctionARN": "<>", @@ -2358,26 +2248,6 @@ ] } }, - { - "Parameters": { - "LambdaFunctionARN": "<>", - "InvocationTimeLimitSeconds": "8", - "ResponseValidation": { - "ResponseType": "JSON" - } - }, - "Identifier": "Submit Payment", - "Type": "InvokeLambdaFunction", - "Transitions": { - "NextAction": "Record Transaction ID", - "Errors": [ - { - "NextAction": "Report Payment Submission Error", - "ErrorType": "NoMatchingError" - } - ] - } - }, { "Parameters": { "StoreInput": "False", @@ -2442,6 +2312,164 @@ } ] } + }, + { + "Parameters": { + "LambdaFunctionARN": "<>", + "InvocationTimeLimitSeconds": "8", + "ResponseValidation": { + "ResponseType": "JSON" + } + }, + "Identifier": "Submit Payment", + "Type": "InvokeLambdaFunction", + "Transitions": { + "NextAction": "Record Transaction ID", + "Errors": [ + { + "NextAction": "Report Payment Submission Error", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "LambdaFunctionARN": "<>", + "InvocationTimeLimitSeconds": "8", + "LambdaInvocationAttributes": { + "EventText": "PaymentSubmissionError" + }, + "ResponseValidation": { + "ResponseType": "JSON" + } + }, + "Identifier": "Report Payment Submission Error", + "Type": "InvokeLambdaFunction", + "Transitions": { + "NextAction": "Payment Submission Error", + "Errors": [ + { + "NextAction": "Payment Submission Error", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "LambdaFunctionARN": "<>", + "InvocationTimeLimitSeconds": "8", + "ResponseValidation": { + "ResponseType": "JSON" + } + }, + "Identifier": "Tokenize Transaction", + "Type": "InvokeLambdaFunction", + "Transitions": { + "NextAction": "Record Token", + "Errors": [ + { + "NextAction": "Report Tokenization Error", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "LambdaFunctionARN": "<>", + "InvocationTimeLimitSeconds": "8", + "LambdaInvocationAttributes": { + "EventText": "TokenizationError" + }, + "ResponseValidation": { + "ResponseType": "JSON" + } + }, + "Identifier": "Report Tokenization Error", + "Type": "InvokeLambdaFunction", + "Transitions": { + "NextAction": "Payment Validation Error", + "Errors": [ + { + "NextAction": "Payment Validation Error", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "Attributes": { + "EncryptedCardNumber": "REDACTED", + "ExpirationDate": "REDACTED", + "EncryptedAccountNumber": "REDACTED" + }, + "TargetContact": "Current" + }, + "Identifier": "Redact Sensitive Contact Attributes", + "Type": "UpdateContactAttributes", + "Transitions": { + "NextAction": "Returning To Agent", + "Errors": [ + { + "NextAction": "Returning To Agent", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "Text": "We're sorry, an error has occured preventing us from submitting your payment. You have not been charged." + }, + "Identifier": "Payment Submission Error", + "Type": "MessageParticipant", + "Transitions": { + "NextAction": "Remove Failed Payment Token", + "Errors": [ + { + "NextAction": "Remove Failed Payment Token", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "Text": "There was a problem validating your $.Attributes.PaymentMethod information." + }, + "Identifier": "Payment Validation Error", + "Type": "MessageParticipant", + "Transitions": { + "NextAction": "Remove Failed Payment Token", + "Errors": [ + { + "NextAction": "Remove Failed Payment Token", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "Attributes": { + "PaymentToken": " " + }, + "TargetContact": "Current" + }, + "Identifier": "Remove Failed Payment Token", + "Type": "UpdateContactAttributes", + "Transitions": { + "NextAction": "Redact Sensitive Contact Attributes", + "Errors": [ + { + "NextAction": "Redact Sensitive Contact Attributes", + "ErrorType": "NoMatchingError" + } + ] + } } ] } diff --git a/lib/connect/flows/modules/c3-payment-ivr-flow-module.json b/lib/connect/flows/modules/c3-payment-ivr-flow-module.json index a7eac11..1fc9315 100644 --- a/lib/connect/flows/modules/c3-payment-ivr-flow-module.json +++ b/lib/connect/flows/modules/c3-payment-ivr-flow-module.json @@ -30,7 +30,7 @@ "conditions": [], "conditionMetadata": [ { - "id": "52d14041-beb5-4e66-ad51-6a6a081538f3", + "id": "4c1c023a-67ed-47cf-a7db-97d4628997e1", "operator": { "name": "Equals", "value": "Equals", @@ -72,7 +72,7 @@ "conditions": [], "conditionMetadata": [ { - "id": "d6953dad-24c9-4eeb-a657-2da4853b244b", + "id": "5e60df02-ccce-41ad-b972-0327d2602b56", "operator": { "name": "Equals", "value": "Equals", @@ -114,7 +114,7 @@ "conditions": [], "conditionMetadata": [ { - "id": "cb3b5341-919c-4164-a1e3-ee1d5eea011b", + "id": "a2833b4c-7327-42a0-a470-ec6ff167dfb1", "operator": { "name": "Equals", "value": "Equals", @@ -133,7 +133,7 @@ "conditions": [], "conditionMetadata": [ { - "id": "25626f02-3dc6-4eb8-a929-810edaa77790", + "id": "f2546136-e831-4c23-a8ea-66458a379a59", "operator": { "name": "Equals", "value": "Equals", @@ -255,11 +255,11 @@ "isFriendlyName": true, "conditionMetadata": [ { - "id": "3c9ac8e9-61ac-4343-896a-8beaff00c16c", + "id": "c7c548e0-96c1-4e4d-9b15-c94d66730716", "value": "1" }, { - "id": "6cd9e356-612c-4b59-bc6e-ec077db4a012", + "id": "d16f74ca-0bca-4c83-9323-b3b920e1bc63", "value": "2" } ] @@ -271,25 +271,6 @@ }, "isFriendlyName": true }, - "Create Payment Request": { - "position": { - "x": -1484, - "y": 224 - }, - "isFriendlyName": true, - "parameters": { - "LambdaFunctionARN": { - "displayName": "<>" - } - }, - "dynamicMetadata": {} - }, - "87859db2-400d-410b-8818-05c8ae4869aa": { - "position": { - "x": -1628.8, - "y": 480 - } - }, "Store Routing Number": { "position": { "x": 4120, @@ -320,19 +301,6 @@ }, "dynamicParams": ["ExpirationDate"] }, - "Tokenize Transaction": { - "position": { - "x": 4880, - "y": -132.8 - }, - "isFriendlyName": true, - "parameters": { - "LambdaFunctionARN": { - "displayName": "<>" - } - }, - "dynamicMetadata": {} - }, "Payment Success": { "position": { "x": 6239.2, @@ -348,11 +316,11 @@ "isFriendlyName": true, "conditionMetadata": [ { - "id": "43b3a560-6fe8-4142-8f65-12b5ad020186", + "id": "38703ff7-a6a5-4697-87ba-41478b8050f7", "value": "1" }, { - "id": "2dd6ce26-6817-426d-ad38-5d2c09467278", + "id": "ee3ca4a7-c9b8-4b26-a4eb-80061a359e80", "value": "2" } ] @@ -365,11 +333,11 @@ "isFriendlyName": true, "conditionMetadata": [ { - "id": "fdebd013-e057-4c6c-a645-b8c1911ccc67", + "id": "28d1b686-44d9-41bd-b721-fdc5a9bdb2be", "value": "1" }, { - "id": "1d69b48c-64be-447a-96ab-3c3b5e30df37", + "id": "64bebdcb-69c9-4deb-bacc-ebe4c6e559da", "value": "2" } ] @@ -390,80 +358,6 @@ "isFriendlyName": true, "dynamicParams": [] }, - "Submit Payment": { - "position": { - "x": 5556, - "y": -128.8 - }, - "isFriendlyName": true, - "parameters": { - "LambdaFunctionARN": { - "displayName": "<>" - } - }, - "dynamicMetadata": {} - }, - "a3ea896e-4f43-4677-8edd-159f677dc41e": { - "position": { - "x": 7818.4, - "y": 192.8 - } - }, - "Receipt Success": { - "position": { - "x": 6922.4, - "y": -128 - }, - "isFriendlyName": true - }, - "Receipt Error": { - "position": { - "x": 7143.2, - "y": 55.2 - }, - "isFriendlyName": true - }, - "Check for Customer Email": { - "position": { - "x": 6460.8, - "y": -43.2 - }, - "isFriendlyName": true, - "conditions": [], - "conditionMetadata": [ - { - "id": "218c656d-1bd0-42eb-adc2-6d9b7684ba7c", - "operator": { - "name": "Contains", - "value": "Contains", - "shortDisplay": "contains" - }, - "value": "@" - } - ] - }, - "Payment Validation Error": { - "position": { - "x": 5786.4, - "y": 273.6 - }, - "isFriendlyName": true - }, - "Payment Submission Error": { - "position": { - "x": 6016, - "y": 158.4 - }, - "isFriendlyName": true - }, - "Redact Sensitive Contact Attributes": { - "position": { - "x": 7378.4, - "y": 184 - }, - "isFriendlyName": true, - "dynamicParams": [] - }, "Record Payment Request ID": { "position": { "x": -1256.8, @@ -502,7 +396,7 @@ "conditions": [], "conditionMetadata": [ { - "id": "8336dc5b-99ce-4af9-9bfb-69eada51f79d", + "id": "19d935d7-cd87-472b-a2b8-2d4864390105", "operator": { "name": "Equals", "value": "Equals", @@ -511,7 +405,7 @@ "value": "PaymentAmountDue" }, { - "id": "44aebfca-f051-41ae-bbf7-f45692c9937a", + "id": "201dce28-dca4-4661-9318-d71a7f65de07", "operator": { "name": "Is greater than", "value": "GreaterThan", @@ -582,7 +476,7 @@ "conditions": [], "conditionMetadata": [ { - "id": "4867617d-cf45-45c3-87e8-77b200c83098", + "id": "035358e9-3517-4248-85db-9f8bc64190d5", "operator": { "name": "Equals", "value": "Equals", @@ -591,7 +485,7 @@ "value": "Timeout" }, { - "id": "9af64534-8c35-48aa-a729-97b76cbe56b1", + "id": "155e1088-7284-40ea-a4af-a450b0fce7d1", "operator": { "name": "Is greater than", "value": "GreaterThan", @@ -600,7 +494,7 @@ "value": "$.Attributes.PaymentAmountDue" }, { - "id": "dfad210d-2734-4b3f-8d01-db570432afb7", + "id": "632fcd39-3689-47e9-b89f-a68bff165029", "operator": { "name": "Is less than", "value": "LessThan", @@ -610,13 +504,6 @@ } ] }, - "Internal Error": { - "position": { - "x": 2660, - "y": 525.6 - }, - "isFriendlyName": true - }, "Check for Payment Token": { "position": { "x": 1096, @@ -626,7 +513,7 @@ "conditions": [], "conditionMetadata": [ { - "id": "45915112-e17e-4be8-8b3c-420a2f44549f", + "id": "0107a09a-d891-4759-8405-af2776e74527", "operator": { "name": "Starts with", "value": "StartsWith", @@ -635,7 +522,7 @@ "value": "VC" }, { - "id": "e086bd08-90b1-40b4-a0f4-733058057f01", + "id": "f10a6346-9d6f-4197-a11a-71f37e14194e", "operator": { "name": "Starts with", "value": "StartsWith", @@ -644,7 +531,7 @@ "value": "BC" }, { - "id": "d19464e1-0c62-4693-8031-6bafc38ca15f", + "id": "62539558-4e03-4f7c-8d46-8d2e1fdca78b", "operator": { "name": "Starts with", "value": "StartsWith", @@ -662,11 +549,11 @@ "isFriendlyName": true, "conditionMetadata": [ { - "id": "ca06874d-bb80-437a-871d-a98a83eb149e", + "id": "172664b6-023a-4e64-aeec-7c4a14d3f765", "value": "1" }, { - "id": "6c57294b-b0ce-4fae-9a3c-808150e0704b", + "id": "fb9686d6-8145-4f4a-b4cb-ddea571814d8", "value": "2" } ] @@ -685,6 +572,127 @@ } }, "dynamicParams": ["PaymentAmount"] + }, + "Create Payment Request": { + "position": { + "x": -1484, + "y": 224 + }, + "isFriendlyName": true, + "parameters": { + "LambdaFunctionARN": { + "displayName": "<>" + } + }, + "dynamicMetadata": {} + }, + "87859db2-400d-410b-8818-05c8ae4869aa": { + "position": { + "x": -1628.8, + "y": 480 + } + }, + "Submit Payment": { + "position": { + "x": 5556, + "y": -128.8 + }, + "isFriendlyName": true, + "parameters": { + "LambdaFunctionARN": { + "displayName": "<>" + } + }, + "dynamicMetadata": {} + }, + "Tokenize Transaction": { + "position": { + "x": 4880, + "y": -132.8 + }, + "isFriendlyName": true, + "parameters": { + "LambdaFunctionARN": { + "displayName": "<>" + } + }, + "dynamicMetadata": {} + }, + "a3ea896e-4f43-4677-8edd-159f677dc41e": { + "position": { + "x": 7818.4, + "y": 192.8 + } + }, + "Receipt Success": { + "position": { + "x": 6922.4, + "y": -128 + }, + "isFriendlyName": true + }, + "Receipt Error": { + "position": { + "x": 7143.2, + "y": 55.2 + }, + "isFriendlyName": true + }, + "Check for Customer Email": { + "position": { + "x": 6460.8, + "y": -43.2 + }, + "isFriendlyName": true, + "conditions": [], + "conditionMetadata": [ + { + "id": "be10b27c-2317-4c85-9268-1e9afacc1da6", + "operator": { + "name": "Contains", + "value": "Contains", + "shortDisplay": "contains" + }, + "value": "@" + } + ] + }, + "Internal Error": { + "position": { + "x": 2660, + "y": 525.6 + }, + "isFriendlyName": true + }, + "Payment Submission Error": { + "position": { + "x": 6016, + "y": 158.4 + }, + "isFriendlyName": true + }, + "Payment Validation Error": { + "position": { + "x": 6020.8, + "y": 337.6 + }, + "isFriendlyName": true + }, + "Redact Sensitive Contact Attributes": { + "position": { + "x": 7378.4, + "y": 184 + }, + "isFriendlyName": true, + "dynamicParams": [] + }, + "Remove Failed Payment Token": { + "position": { + "x": 6335.2, + "y": 253.6 + }, + "isFriendlyName": true, + "dynamicParams": [] } }, "Annotations": [], @@ -1214,36 +1222,6 @@ ] } }, - { - "Parameters": { - "LambdaFunctionARN": "<>", - "InvocationTimeLimitSeconds": "8", - "ResponseValidation": { - "ResponseType": "JSON" - } - }, - "Identifier": "Create Payment Request", - "Type": "InvokeLambdaFunction", - "Transitions": { - "NextAction": "Record Payment Request ID", - "Errors": [ - { - "NextAction": "Payment Request Error", - "ErrorType": "NoMatchingError" - } - ] - } - }, - { - "Parameters": { - "FlowLoggingBehavior": "Enabled" - }, - "Identifier": "87859db2-400d-410b-8818-05c8ae4869aa", - "Type": "UpdateFlowLoggingBehavior", - "Transitions": { - "NextAction": "Create Payment Request" - } - }, { "Parameters": { "Attributes": { @@ -1282,26 +1260,6 @@ ] } }, - { - "Parameters": { - "LambdaFunctionARN": "<>", - "InvocationTimeLimitSeconds": "8", - "ResponseValidation": { - "ResponseType": "JSON" - } - }, - "Identifier": "Tokenize Transaction", - "Type": "InvokeLambdaFunction", - "Transitions": { - "NextAction": "Record Token", - "Errors": [ - { - "NextAction": "Payment Validation Error", - "ErrorType": "NoMatchingError" - } - ] - } - }, { "Parameters": { "Text": "Your payment was processed successfully." @@ -1440,142 +1398,6 @@ ] } }, - { - "Parameters": { - "LambdaFunctionARN": "<>", - "InvocationTimeLimitSeconds": "8", - "ResponseValidation": { - "ResponseType": "JSON" - } - }, - "Identifier": "Submit Payment", - "Type": "InvokeLambdaFunction", - "Transitions": { - "NextAction": "Record Transaction ID", - "Errors": [ - { - "NextAction": "Payment Submission Error", - "ErrorType": "NoMatchingError" - } - ] - } - }, - { - "Parameters": {}, - "Identifier": "a3ea896e-4f43-4677-8edd-159f677dc41e", - "Type": "EndFlowModuleExecution", - "Transitions": {} - }, - { - "Parameters": { - "Text": "A receipt has been sent to your email address at $.Attributes.['Email']." - }, - "Identifier": "Receipt Success", - "Type": "MessageParticipant", - "Transitions": { - "NextAction": "Redact Sensitive Contact Attributes", - "Errors": [ - { - "NextAction": "Redact Sensitive Contact Attributes", - "ErrorType": "NoMatchingError" - } - ] - } - }, - { - "Parameters": { - "Text": "There was an error sending the receipt to your email address at $.Attributes.['Email']. Please contact customer support to receive a receipt for this transaction." - }, - "Identifier": "Receipt Error", - "Type": "MessageParticipant", - "Transitions": { - "NextAction": "Redact Sensitive Contact Attributes", - "Errors": [ - { - "NextAction": "Redact Sensitive Contact Attributes", - "ErrorType": "NoMatchingError" - } - ] - } - }, - { - "Parameters": { - "ComparisonValue": "$.Attributes.Email" - }, - "Identifier": "Check for Customer Email", - "Type": "Compare", - "Transitions": { - "NextAction": "Redact Sensitive Contact Attributes", - "Conditions": [ - { - "NextAction": "Email Receipt", - "Condition": { - "Operator": "TextContains", - "Operands": ["@"] - } - } - ], - "Errors": [ - { - "NextAction": "Redact Sensitive Contact Attributes", - "ErrorType": "NoMatchingCondition" - } - ] - } - }, - { - "Parameters": { - "Text": "There was a problem validating your $.Attributes.PaymentMethod information." - }, - "Identifier": "Payment Validation Error", - "Type": "MessageParticipant", - "Transitions": { - "NextAction": "Redact Sensitive Contact Attributes", - "Errors": [ - { - "NextAction": "Redact Sensitive Contact Attributes", - "ErrorType": "NoMatchingError" - } - ] - } - }, - { - "Parameters": { - "Text": "We're sorry, an error has occured preventing us from submitting your payment. You have not been charged." - }, - "Identifier": "Payment Submission Error", - "Type": "MessageParticipant", - "Transitions": { - "NextAction": "Redact Sensitive Contact Attributes", - "Errors": [ - { - "NextAction": "Redact Sensitive Contact Attributes", - "ErrorType": "NoMatchingError" - } - ] - } - }, - { - "Parameters": { - "Attributes": { - "EncryptedCardNumber": "REDACTED", - "EncryptedAccountNumber": "REDACTED", - "ExpirationDate": "REDACTED" - }, - "TargetContact": "Current" - }, - "Identifier": "Redact Sensitive Contact Attributes", - "Type": "UpdateContactAttributes", - "Transitions": { - "NextAction": "a3ea896e-4f43-4677-8edd-159f677dc41e", - "Errors": [ - { - "NextAction": "a3ea896e-4f43-4677-8edd-159f677dc41e", - "ErrorType": "NoMatchingError" - } - ] - } - }, { "Parameters": { "Attributes": { @@ -1824,22 +1646,6 @@ ] } }, - { - "Parameters": { - "Text": "We're sorry, an error has occured that prevents us from collecting the payment." - }, - "Identifier": "Internal Error", - "Type": "MessageParticipant", - "Transitions": { - "NextAction": "Redact Sensitive Contact Attributes", - "Errors": [ - { - "NextAction": "Redact Sensitive Contact Attributes", - "ErrorType": "NoMatchingError" - } - ] - } - }, { "Parameters": { "ComparisonValue": "$.Attributes.PaymentToken" @@ -1939,6 +1745,227 @@ } ] } + }, + { + "Parameters": { + "LambdaFunctionARN": "<>", + "InvocationTimeLimitSeconds": "8", + "ResponseValidation": { + "ResponseType": "JSON" + } + }, + "Identifier": "Create Payment Request", + "Type": "InvokeLambdaFunction", + "Transitions": { + "NextAction": "Record Payment Request ID", + "Errors": [ + { + "NextAction": "Payment Request Error", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "FlowLoggingBehavior": "Disabled" + }, + "Identifier": "87859db2-400d-410b-8818-05c8ae4869aa", + "Type": "UpdateFlowLoggingBehavior", + "Transitions": { + "NextAction": "Create Payment Request" + } + }, + { + "Parameters": { + "LambdaFunctionARN": "<>", + "InvocationTimeLimitSeconds": "8", + "ResponseValidation": { + "ResponseType": "JSON" + } + }, + "Identifier": "Submit Payment", + "Type": "InvokeLambdaFunction", + "Transitions": { + "NextAction": "Record Transaction ID", + "Errors": [ + { + "NextAction": "Payment Submission Error", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "LambdaFunctionARN": "<>", + "InvocationTimeLimitSeconds": "8", + "ResponseValidation": { + "ResponseType": "JSON" + } + }, + "Identifier": "Tokenize Transaction", + "Type": "InvokeLambdaFunction", + "Transitions": { + "NextAction": "Record Token", + "Errors": [ + { + "NextAction": "Payment Validation Error", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": {}, + "Identifier": "a3ea896e-4f43-4677-8edd-159f677dc41e", + "Type": "EndFlowModuleExecution", + "Transitions": {} + }, + { + "Parameters": { + "Text": "A receipt has been sent to your email address at $.Attributes.['Email']." + }, + "Identifier": "Receipt Success", + "Type": "MessageParticipant", + "Transitions": { + "NextAction": "Redact Sensitive Contact Attributes", + "Errors": [ + { + "NextAction": "Redact Sensitive Contact Attributes", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "Text": "There was an error sending the receipt to your email address at $.Attributes.['Email']. Please contact customer support to receive a receipt for this transaction." + }, + "Identifier": "Receipt Error", + "Type": "MessageParticipant", + "Transitions": { + "NextAction": "Redact Sensitive Contact Attributes", + "Errors": [ + { + "NextAction": "Redact Sensitive Contact Attributes", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "ComparisonValue": "$.Attributes.Email" + }, + "Identifier": "Check for Customer Email", + "Type": "Compare", + "Transitions": { + "NextAction": "Redact Sensitive Contact Attributes", + "Conditions": [ + { + "NextAction": "Email Receipt", + "Condition": { + "Operator": "TextContains", + "Operands": ["@"] + } + } + ], + "Errors": [ + { + "NextAction": "Redact Sensitive Contact Attributes", + "ErrorType": "NoMatchingCondition" + } + ] + } + }, + { + "Parameters": { + "Text": "We're sorry, an error has occured that prevents us from collecting the payment." + }, + "Identifier": "Internal Error", + "Type": "MessageParticipant", + "Transitions": { + "NextAction": "Redact Sensitive Contact Attributes", + "Errors": [ + { + "NextAction": "Redact Sensitive Contact Attributes", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "Text": "We're sorry, an error has occured preventing us from submitting your payment. You have not been charged." + }, + "Identifier": "Payment Submission Error", + "Type": "MessageParticipant", + "Transitions": { + "NextAction": "Remove Failed Payment Token", + "Errors": [ + { + "NextAction": "Remove Failed Payment Token", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "Text": "There was a problem validating your $.Attributes.PaymentMethod information." + }, + "Identifier": "Payment Validation Error", + "Type": "MessageParticipant", + "Transitions": { + "NextAction": "Remove Failed Payment Token", + "Errors": [ + { + "NextAction": "Remove Failed Payment Token", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "Attributes": { + "EncryptedCardNumber": "REDACTED", + "EncryptedAccountNumber": "REDACTED", + "ExpirationDate": "REDACTED" + }, + "TargetContact": "Current" + }, + "Identifier": "Redact Sensitive Contact Attributes", + "Type": "UpdateContactAttributes", + "Transitions": { + "NextAction": "a3ea896e-4f43-4677-8edd-159f677dc41e", + "Errors": [ + { + "NextAction": "a3ea896e-4f43-4677-8edd-159f677dc41e", + "ErrorType": "NoMatchingError" + } + ] + } + }, + { + "Parameters": { + "Attributes": { + "PaymentToken": " " + }, + "TargetContact": "Current" + }, + "Identifier": "Remove Failed Payment Token", + "Type": "UpdateContactAttributes", + "Transitions": { + "NextAction": "Redact Sensitive Contact Attributes", + "Errors": [ + { + "NextAction": "Redact Sensitive Contact Attributes", + "ErrorType": "NoMatchingError" + } + ] + } } ], "Settings": {