Discover ProtectBuy
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.
Before implementing payer authentication for ProtectBuy, contact customer support to have your account configured for this feature.
Supported Processors
- American Express Direct
- Barclays
- Chase Paymentech Solutions
- Chase Tandem
- Elavon Americas
- FDC Compass
- FDC Nashville Global
- JCN Gateway
- Worldpay VAP
- Chase Paymentech Solutions
- Elavon Americas
- FDC Nashville Global
- Worldpay VAP
- Barclays
Fields Specific to the American Express SafeKey Use Case
consumerAuthenticationInformation.cavv: required when payer authentication is successful.processingInformation.commerceIndicator: set this field to one of these values:aesk: Successful authentication (3-D Secure value of 05).aesk_attempted: Authentication was attempted (3-D Secure value of 06).internet: Authentication failed or was not attempted (3-D Secure value of 07).
Endpoints
POST /pts/v2/payments
POST /pts/v2/payments
POST /pts/v2/payments
Example
{ "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": "[email protected]", "phoneNumber": "6504327113" } }, "consumerAuthenticationInformation": { "cavv": "1234567890987654321ABCDEFabcdefABCDEF123", "xid": "1234567890987654321ABCDEFabcdefABCDEF123" }}{ "_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"}Required Fields
Default Required Fields
These API fields are required to process an authorization using Discover ProtectBuy authentication.
| Field | Description |
|---|---|
clientReferenceInformation.code | — |
consumerAuthenticationInformation.cavv | Required when payer authentication is successful. |
consumerAuthenticationInformation.xid | — |
orderInformation.amountDetails.currency | Vero supports Brazilian real (BRL) currency only. |
orderInformation.amountDetails.totalAmount | — |
orderInformation.billTo.address1 | — |
orderInformation.billTo.administrativeArea | — |
orderInformation.billTo.buildingNumber | Required for Rede card customer validation. |
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 for successful authentication for a Discover card (3-D Secure value of 05), dipb_attempted when authentication was attempted for a Discover card (3-D Secure value of 06), internet when authentication failed or was not attempted for a Discover card (3-D Secure value of 07), pb for successful authentication for a Diner card (3-D Secure value of 05), pb_attempted when authentication was attempted for a Diner card (3-D Secure value of 06), or internet when authentication failed or was not attempted for a Diner card (3-D Secure value of 07). |
Processor-Specific Required Fields
RuPay Required Fields
| Field | Description |
|---|---|
orderInformation.amountDetails.currency | Set the value to INR. |
Vero Required Fields
| Field | Description |
|---|---|
orderInformation.amountDetails.currency | Vero supports the Brazilian real (BRL) only. |
Regional Required Fields
| Field | Description |
|---|---|
processingInformation.authorizationOptions.transaction | Required only for merchants in Saudi Arabia. |
Thanks for your feedback!
Last published: September 29, 2026