Discover/Diners ProtectBuy
FDC CompassREST API
ProtectBuy is the authentication service in the Discover/Diner card network that uses the
3-D Secure protocol to authenticate customers at checkout. When you request an
authorization using a supported card type and a supported processor, you can include
payer authentication data in the request. The payer authentication services enable you
to add payer authentication support to your website without running additional software
on your server.
IMPORTANT
FDC Compass
supports 3-D
Secure 2.0 with Discover transactions. Before implementing payer authentication for ProtectBuy, contact customer support to have
your account configured for this feature.
Fields Specific to the Discover/Diner ProtectBuy Use Case
These API fields are required specifically for this use case.
- consumerAuthenticationInformation.cavv
- Required when payer authentication is successful.
- processingInformation.commerceIndicator
- Set this field to one of these values:
- dipb: Successful authentication for a Discover card (3-D Secure value of05).
- dipb_attempted: Authentication was attempted for a Discover card (3-D Secure value of06).
- internet: Authentication failed or was not attempted for a Discover card (3-D Secure value of07).
- pb: Successful authentication for a Diner card (3-D Secure value of05).
- pb_attempted: Authentication was attempted for a Diner card (3-D Secure value of06).
- internet: Authentication failed or was not attempted for a Diner card (3-D Secure value of07).
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.cybersource.com
/pts/v2/paymentsRequired Fields for Processing an Authorization Using Discover ProtectBuy
Authentication
Use these required fields to process an authorization using Discover ProtectBuy
authentication.
IMPORTANT
When relaxed requirements for address data and the expiration date are being used, not all fields
in this list are required. It is your responsibility to determine whether your
account is enabled to use this feature and which fields are required. For details
about relaxed requirements, see Relaxed Requirements for Address Data and Expiration Date in Payment Transactions.
- clientReferenceInformation.code
- consumerAuthenticationInformation.cavv
- consumerAuthenticationInformation.xid
- orderInformation.amountDetails.currency
- orderInformation.amountDetails.totalAmount
- orderInformation.billTo.address1
- orderInformation.billTo.administrativeArea
- orderInformation.billTo.country
- orderInformation.billTo.email
- orderInformation.billTo.firstName
- orderInformation.billTo.lastName
- orderInformation.billTo.locality
- orderInformation.billTo.postalCode
- paymentInformation.card.expirationMonth
- paymentInformation.card.expirationYear
- paymentInformation.card.number
- paymentInformation.card.type
- processingInformation.commerceIndicator
- Set this field to one of these values:
- dipb: Successful authentication for a Discover card (3-D Secure value of05).
- dipb_attempted: Authentication was attempted for a Discover card (3-D Secure value of06).
- internet: Authentication failed or was not attempted for a Discover card (3-D Secure value of07).
- pb: Successful authentication for a Diner card (3-D Secure value of05).
- pb_attempted: Authentication was attempted for a Diner card (3-D Secure value of06).
- internet: Authentication failed or was not attempted for a Diner card (3-D Secure value of07).
Related Information
REST Example: Processing an Authorization Using Discover ProtectBuy
Authentication
Request
1234567891011121314151617181920212223242526272829303132333435{"clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "commerceIndicator": "dipb" }, "paymentInformation": { "card": { "number": "60110000XXXXXXX2", "expirationMonth": "01", "expirationYear": "2026" } }, "orderInformation": { "amountDetails": { "totalAmount": "100", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Smith", "address1": "201 S. Division St._1", "address2": "", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "accept@who.com", "phoneNumber": "6504327113" } }, "consumerAuthenticationInformation": { "cavv": "1234567890987654321ABCDEFabcdefABCDEF123", "xid": "1234567890987654321ABCDEFabcdefABCDEF123" }}
Response to a Successful Request
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253{"_links": { "authReversal": { "method": "POST", "href": "/pts/v2/payments/6764027854656733303954/reversals" }, "self": { "method": "GET", "href": "/pts/v2/payments/6764027854656733303954" }, "capture": { "method": "POST", "href": "/pts/v2/payments/6764027854656733303954/captures" } }, "clientReferenceInformation": { "code": "TC50171_3" }, "id": "6764027854656733303954", "orderInformation": { "amountDetails": { "authorizedAmount": "100.00", "currency": "USD" } }, "paymentAccountInformation": { "card": { "type": "004" } }, "paymentInformation": { "tokenizedCard": { "type": "004" }, "card": { "type": "004" } }, "pointOfSaleInformation": { "terminalId": "111111" }, "processorInformation": { "approvalCode": "888888", "networkTransactionId": "123456789619999", "transactionId": "123456789619999", "responseCode": "100", "avs": { "code": "X", "codeRaw": "I1" } }, "reconciliationId": "60125005GE39VNT8", "status": "AUTHORIZED", "submitTimeUtc": "2023-02-14T19:26:25Z"}