В случае, если карта покупателя участвует в программе 3dsecure, то в ответе на запрос к методам purchase
или auth
будут присутствовать параметры для перехода на страницу банка, выпустивщего карту покупателя.
Последовательность операций
-
запрос
purchase
-
переадресация покупателя на
acsUrl
из ответа со следующими параметрами-
PaReq
- получено из запроса -
TermUrl
-URL
страницы клиента, на которую будет возвращен покупатель после прохождения проверки -
MD
- сгенерированные клиентом параметр, который будет передан обратно при возврате наTermUrl
. Обычно используется идентификации покупателя
-
-
запрос
complete3ds
с параметромpaRes
, полученным при возврате наTermUrl
.URL
формируется с подстановкойoperationId
, полученного в ответе на запросpurchase
Примеры запросов и ответов
Purchase
POST /card/1-1/operations/auth HTTP/1.1
W1-Signature: S6G7l8hCWLTWuEl1+fqcQtNGjSihGuZsd2VObC0yD7kHemv7WrTI3o34L1DfQUgv3oCdFqZR8nkL7xA4/LeAhM3n8kuYH2z0hKdcXvRsZduQpI6pdOf7x6SdQ+CpBAhtvZybb/pKuPRxaP4w+PbX1CAl1oOFgE8o7iYb8l2Pj+tK37myRTsPGURW/Cyx9JK6sIMs7TA38a+rpVimaAOG/xHo6JRjT2evGWCGN84hkU1eDomYGYByR2WuVBu4/vZnVDa9N0DPd3Op0i3P6Ggozq03vR1Yuvtuhw705sps+N3bGhhRo7aR0TxWsTvue95IbTfNTqzZgnCp35kZbUHHag==
Content-Type: application/json; charset=UTF-8
Host: localhost:8080
Content-Length: 694
{
"notification" : {
"url" : "http://localhost:65456/callback",
"version" : 1
},
"externalId" : "ext#21",
"amount" : {
"amount" : 10.55,
"currency" : "USD"
},
"payer" : {
"paymentMethod" : {
"entity" : {
"pan" : "4916798373459761",
"expMonth" : 5,
"expYear" : 2022,
"cvv" : "444"
},
"type" : "CARD"
},
"info" : {
"ip" : "127.0.0.1",
"phone" : "9001234567",
"email" : "no-reply@flexo.systems"
}
},
"merchantParameters" : {
"param1" : "anything you want for callback"
},
"registerRecurring" : true,
"tds" : {
"notificationUrl" : "http://tds.notification.url:6789"
}
}
HTTP/1.1 200 OK
Date: Fri, 26 Nov 2021 21:14:26 GMT
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 294
{
"operationId" : "1-1-a-439",
"status" : "WAITING_FOR_CONFIRMATION",
"type" : "AUTH",
"externalId" : "ext#21",
"params" : {
"acsUrl" : "http://localhost:9191/test/acs/3ds1",
"PaReq" : "good"
},
"actions" : {
"required" : [ {
"type" : "complete3ds"
} ]
}
}
Complete3ds
POST /card/1-1/operations/1-1-a-489/complete3ds HTTP/1.1
W1-Signature: PIvfgwNc1QAY724teHX/TdMxzrVoMVoHCbd7V80u58RTdqbiYsdDiTjeGF9CIZtwsRC5JMuPy9DbQPjMNf4BWd+dZBIT7glgMFYx6mC8n6sxNkNbMWY5jnsFekd57a2AJ+AzTcAhHit6NGh2QLmcZpMPwYneoR4I4EQDl8NFVsi9uFu5TVx/PX5WPjWTL//vjbOqX+/mXCCxrjiXaV4nvQ9RQDybsTLFhJz3iXGSeOW+KOyznkKu22Q21TywDtwOQA5ZwI2fQp6vlMgYEFq7FjMrHbGUP+LULSR5pR37q/G9gJXrHd6ft+94l0MFCl/THNRauQ/2j1VK0GFL55fR5g==
Content-Type: application/json; charset=UTF-8
Host: localhost:8080
Content-Length: 26
{
"paRes" : "verified"
}
HTTP/1.1 200 OK
Date: Fri, 26 Nov 2021 21:15:15 GMT
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 169
{
"operationId" : "1-1-a-489",
"status" : "SUCCEEDED",
"type" : "PURCHASE",
"externalId" : "ext#86",
"params" : { },
"actions" : {
"required" : [ ]
}
}
Уведомление клиента со стороны Flexo (Callback)
POST /test/emptycallback HTTP/1.1
W1-Signature: oItTOLnwtvBLsu22bIc6xxAsgL/f5r9TAlUHJExTmLT02sx1Q1xcT9+MRf35DTLG9rQdpBquRlbQTPRn4epztiT+mMA7LHwnvKdSK/MPs5J/a837j8TDX9SoB0giTCjTxIi/d0nkk+YwIORpCR9KDLHH9gPTP206cf9I6hhyoj1sDx13ZqGipl/DzuPxVGNRL770Kp+ox/84XsSu5E7tQRic+rlfqFkM/elWP/MXFk3soe1lRU7z6XPMkAoa2pjD+T+KtzLFP+juffz+zqqkcbEx19I47taGqBct+qHDcl4lVbugRFY9ukW+GPZK4AFZeIu9Rm8zR5WFd58GHTSysg==
Content-Type: application/json; charset=UTF-8
Host: localhost:8080
Content-Length: 840
{
"id" : "1-1-a-437",
"type" : "PURCHASE",
"externalId" : "ext#19",
"successful" : true,
"amount" : {
"amount" : 10.55,
"currency" : "USD"
},
"baseAmount" : {
"amount" : 10.55,
"currency" : "USD"
},
"registeredMethods" : [ {
"entity" : {
"id" : "1-54"
},
"type" : "RECURRING_TOKEN"
}, {
"entity" : {
"id" : "payoutToken-491679-something-9761"
},
"type" : "PAYOUT_TOKEN"
} ],
"merchantParameters" : {
"param1" : "anything you want for callback"
},
"status" : "SUCCEEDED",
"transactions" : [ {
"type" : "PURCHASE",
"status" : "SUCCEEDED"
}, {
"type" : "COMPLETE3DS",
"status" : "SUCCEEDED"
} ],
"payer" : {
"paymentMethod" : {
"entity" : {
"pan" : "491679XXXXXX9761"
},
"type" : "MASKED_CARD"
}
}
}
HTTP/1.1 200 OK
Date: Fri, 26 Nov 2021 21:14:25 GMT
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers