Method Url Populated
You are here because the Authentication Response contained MethodUrl and MethodData fields. This step is required only if these fields are populated.
- Render a hidden iFrame
- Send an
HTTPformPOSTto theMethodUrlfrom the Authentication Response, containing theMethodDataalso supplied. - Interpret the results sent back to your supplied
MethodNoticiationUrlas anHTTPformPOST
Your expected output is to be able to resend the Authentication Request, this time with the field MethodCompletionIndicator set to either Y or N.
Render a hidden iFrame and send POST
Although separate steps, these are effectively completed in a single block of code.
An HTTPS form POST request should be sent to the MethodUrl with the following parameters:
| POST MethodUrl | |||
|---|---|---|---|
| Field Name | State | Data Type | Description |
| threeDSMethodData | Mandatory | String | This is the value as provided in the Authentication Response. It is a Base64-encoded string containing the Transaction ID and your NotificationUrl, previosuly supplied. You should simply pass it in 'as is'. |
POST example code
<form name="frm" method="POST" action="Rendering URL">
<input
type="hidden"
name="threeDSMethodData"
value="eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjNhYzdjYWE3LWFhNDItMjY2My03OTFiLTJhYzA1YTU0MmM0YSIsInRocmVlRFNNZXRob2ROb3RpZmljYXRpb25VUkwiOiJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIn0"
/>
</form>
Decoded threeDSMethodData (for information only, this step is NOT required):
{
"threeDSServerTransID":"3ac7caa7-aa42-2663-791b-2ac05a542c4a",
"threeDSMethodNotificationURL":"threeDSMethodNotificationURL"
}
Interpret the Results sent back
Once the ACS has completed their Cardholder interaction, the ACS will send a form back to your MethodNotificationUrl via an HTTP POST. You should then send a new Authentication Request containing the ThreeDsServerTransactionId from the initial Authentication Response and MethodCompletionIndicator set to Y.
Example Response
<form name="frm" method="POST" action="threeDSMethodNotificationURL">
<input
type="hidden"
name="threeDSMethodData"
value="eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjNhYzdjYWE3LWFhNDItMjY2My03OTFiLTJhYzA1YTU0MmM0YSJ9"
/>
</form>
Decoded threeDSMethodData
{
"threeDSServerTransID":"3ac7caa7-aa42-2663-791b-2ac05a542c4a"
}
If there is a timeout where the ACS has not responded within 10 seconds then the MethodCompletionIndicator should be set to N in the Authentication Request
Next Steps
You should now complete a second Authentication Request, completing the two additional fields;
MethodCompletionIndicatorThreeDsServerTransactionId(if applicable)
This second Authentication Response will confirm whether to proceed to the Challenge Flow, or if this is Frictionless and you can proceed to Using your Results.