Primer Payment Webhooks API
The Payment Webhooks API from Primer — 2 operation(s) for payment webhooks.
The Payment Webhooks API from Primer — 2 operation(s) for payment webhooks.
openapi: 3.0.2
info:
x-logo:
url: https://apidocs.primer.io/docs/assets/images/primer-logo.svg
title: Primer Client Session API Payment Webhooks API
version: '2.4'
description: This API enforces a timeout of 90 seconds for all requests. A 504 response indicates a timeout occurred.
servers:
- url: https://api.sandbox.primer.io
- url: https://api.primer.io
security:
- ApiKeyAuth: []
tags:
- name: Payment Webhooks
paths:
/payment-status:
post:
tags:
- Payment Webhooks
summary: Payment Status Update
description: 'Primer notifies you with a `PAYMENT.STATUS` webhook when a payment''s status
has been updated. This is especially useful for asyncronous processor Connections,
which do not respond with an upfront authorization.
The webhook events will arrive in the order that the payment status changes,
for example you should expect a status of `PENDING`, then `AUTHORIZED`, then
`SETTLED` (depending on how your workflow is set up).
The webhook body contains the full payment object.
'
operationId: payment_status_webhook_event
requestBody:
content:
application/json:
schema:
title: Request
allOf:
- $ref: '#/components/schemas/PaymentStatusWebhookPayload'
parameters:
- in: header
name: X-Signature-Primary
schema:
type: string
required: true
description: An [HMAC signature](https://en.wikipedia.org/wiki/HMAC) generated using the webhook payload and a shared signing secret. This is then converted to a base64 encoded string.
- in: header
name: X-Signature-Secondary
schema:
type: string
required: true
description: A secondary signature that is added when you have rotated your secret within the past 24 hours.
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
/payment-refund:
post:
tags:
- Payment Webhooks
summary: Payment Refund
description: 'Primer notifies you with a `PAYMENT.REFUND` Webhook when a refund request has been fully processed by a payment processor and the refund has reached a final state.
Check the transaction with the most recent `transactionType: "REFUND"` in the `transactions` array:
- if `processorStatus` is `SETTLED`, the refund was successful and the funds have been returned to the customer
- if `processorStatus` is `FAILED`, the refund was unsuccessful
Learn more about [how Primer handles webhooks](/docs/api-reference/get-started/configure-webhooks).
'
operationId: payment_refund_webhook_event
requestBody:
content:
application/json:
schema:
title: Request
allOf:
- $ref: '#/components/schemas/PaymentRefundWebhookPayload'
parameters:
- in: header
name: X-Signature-Primary
schema:
type: string
required: true
description: An [HMAC signature](https://en.wikipedia.org/wiki/HMAC) generated using the webhook payload and a shared signing secret. This is then converted to a base64 encoded string.
- in: header
name: X-Signature-Secondary
schema:
type: string
required: true
description: A secondary signature that is added when you have rotated your secret within the past 24 hours.
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
components:
schemas:
StatusReasonAPISchema:
title: StatusReasonAPISchema
required:
- type
type: object
properties:
type:
title: Payment status type
allOf:
- $ref: '#/components/schemas/PaymentStatusTypeEnum'
description: "The status reason type for the payment, providing more information on the error.\n`APPLICATION_ERROR` indicates something went wrong internally within primer's system. \n`GATEWAY_REJECTED` indicates that request was rejected on the third-party.\n`GATEWAY_TIMEOUT` indicates the timeout limit on the third party request was exceeded. \n`ISSUER_DECLINED` indicates a legitimate decline that is not due to a timeout.\n"
declineType:
title: Decline Type
allOf:
- $ref: '#/components/schemas/DeclineTypeEnum'
description: 'If the error is of type `ISSUER_DECLINED` this will be returned.
Declines of type `SOFT_DECLINE` may be retried,
whereas declines of type `HARD_DECLINE` should not be retried.
'
code:
title: Payment status code
allOf:
- $ref: '#/components/schemas/TransactionDeclineReasonV2Enum'
description: If the error is of type `ISSUER_DECLINED`, this will be returned.
message:
title: Processor message
type: string
description: In case of an error on the processor's part, we will return the message returned by the processor. This is usually a human readable error.
paymentMethodResultCode:
title: Payment Method Result Code
type: string
description: 'The result code returned by the payment method or card network. This code is unified across all supported processors.
_e.g. Code `46` refers to the message "Closed account" for Visa across all supported processors._
'
paymentMethodResultMessage:
title: Payment Method Result Message
type: string
description: 'Human-readable version of the Payment Method Result Code. This message is unified across all supported processors.
_e.g. Code `46` refers to the message "Closed account" for Visa across all supported processors._
'
paymentMethodAdviceCode:
title: Payment Method Advice Code
type: string
description: 'The advice code returned by the payment method or card network. This code is unified across all supported processors.
_For payments made with Mastercard, this represents the Merchant Advice Code (MAC)._
_e.g. Code `24` refers to the message "Retry after 1 hour" for Mastercard across all supported processors._
'
paymentMethodAdviceMessage:
title: Payment Method Advice Message
type: string
description: 'Human-readable version of the Payment Method Advice Code. This message is unified across all supported processors.
_For payments made with Mastercard, this represents the message of the Merchant Advice Code (MAC)._
_e.g. Code `24` refers to the message "Retry after 1 hour" for Mastercard across all supported processors._
'
advisedAction:
title: Advised Action
$ref: '#/components/schemas/AdvisedActionEnum'
PaymentCardTokenAPISchema:
title: PaymentCardTokenAPISchema
required:
- last4Digits
- expirationMonth
- expirationYear
type: object
properties:
first6Digits:
title: Payment card's first six digits
maxLength: 6
minLength: 6
type: string
last4Digits:
title: Payment card's last four digits
maxLength: 4
minLength: 4
type: string
expirationMonth:
title: Expiration month
maxLength: 2
minLength: 2
type: string
expirationYear:
title: Expiration year
maxLength: 4
minLength: 4
type: string
cardholderName:
title: Cardholder's name
type: string
network:
title: Card network
type: string
isNetworkTokenized:
title: Is represented by a digital PAN
type: boolean
default: false
binData:
$ref: '#/components/schemas/BinDataAPISchema'
DeclineTypeEnum:
title: DeclineTypeEnum
enum:
- SOFT_DECLINE
- HARD_DECLINE
type: string
description: An enumeration.
PayPalBillingAgreementAPISchema:
title: PayPalBillingAgreementAPISchema
required:
- paypalBillingAgreementId
type: object
properties:
paypalBillingAgreementId:
title: Paypalbillingagreementid
type: string
externalPayerInfo:
title: Payer Info
allOf:
- $ref: '#/components/schemas/PayPalExternalPayerInfoAPISchema'
description: Information about the PayPal customer
shippingAddress:
title: Shipping address
allOf:
- $ref: '#/components/schemas/AddressAPISchema'
description: The PayPal customer's shipping address
paypalStatus:
title: PayPal order status
type: string
AVSRiskAssessmentValues:
title: AVSRiskAssessmentValues
type: object
properties:
streetAddress:
$ref: '#/components/schemas/RiskAssessmentStatusEnum'
example: NOT_MATCHED
postalCode:
$ref: '#/components/schemas/RiskAssessmentStatusEnum'
example: NOT_VERIFIED
OptionalAddressAPISchema:
title: OptionalAddressAPISchema
type: object
properties:
firstName:
title: First Name
type: string
minLength: 1
maxLength: 255
lastName:
title: Last Name
type: string
minLength: 1
maxLength: 255
addressLine1:
title: Address Line 1
type: string
description: Street name, Company name or PO Box
minLength: 1
maxLength: 255
addressLine2:
title: Address Line 2
type: string
description: Apartment, Unit or Building number
maxLength: 255
city:
title: City
type: string
description: Name of the city, district, town or village
minLength: 1
maxLength: 255
state:
title: State
type: string
description: State, County or Province
minLength: 1
maxLength: 255
countryCode:
$ref: '#/components/schemas/CountryCodeEnum'
title: Country Code
description: Two letter ISO country code
postalCode:
title: Postal Code
type: string
description: Postal or ZIP code
minLength: 1
maxLength: 255
CardAccountNumberTypeEnum:
title: CardAccountNumberTypeEnum
enum:
- PRIMARY_ACCOUNT_NUMBER
- NETWORK_TOKEN
- UNKNOWN
type: string
description: An enumeration.
AddressAPISchema:
title: AddressAPISchema
required:
- addressLine1
- city
- countryCode
type: object
properties:
firstName:
title: First Name
type: string
lastName:
title: Last Name
type: string
addressLine1:
title: Address Line 1
type: string
description: Street name, Company name or PO Box
addressLine2:
title: Address Line 2
type: string
description: Apartment, Unit or Building number
city:
title: City
type: string
description: Name of the city, district, town or village
state:
title: State
type: string
description: State, County or Province
countryCode:
title: Country Code
allOf:
- $ref: '#/components/schemas/CountryCodeEnum'
description: Two letter ISO country code
postalCode:
title: Postal Code
type: string
description: Postal or ZIP code
TransactionOverviewAPISchema:
title: TransactionOverviewAPISchema
required:
- id
- processor
- processorMerchantId
- type
- status
- date
- amount
- currencyCode
type: object
properties:
date:
title: Creation date
type: string
description: Date & time of the transaction (UTC)
amount:
minimum: 0.0
type: integer
format: int64
description: Transaction amount in minor units
currencyCode:
$ref: '#/components/schemas/Currency'
title: Currency
description: 'The 3-letter currency code in [ISO 4217 format](https://en.wikipedia.org/wiki/ISO_4217#Active_codes). e.g. use `USD` for US dollars.
'
orderId:
title: Order ID
type: string
description: The reference submitted on payment creation or refund.
transactionType:
$ref: '#/components/schemas/TransactionTypeEnum'
title: Transaction type
processorTransactionId:
title: Processor's transaction ID
type: string
description: Processor's unique identifier for the transaction
processorName:
title: Processor Name
type: string
description: An identifier of a processor.
processorMerchantId:
title: Processor master account identifier
type: string
description: 'Processor''s main account identifier.
* Adyen: Account code
* Braintree: Merchant ID
* Stripe: Account ID"
'
processorStatus:
title: Processor Transaction status
allOf:
- $ref: '#/components/schemas/PaymentStatus'
description: Transaction status, please refer to the [Transaction Status Codes](#section/API-Usage-Guide/Payment-Status) table for more information
processorStatusReason:
title: Payment error
allOf:
- $ref: '#/components/schemas/StatusReasonAPISchema'
description: 'If the transaction has a declined or failed status.
Only if the status is `DECLINED` or `FAILED`, otherwise `null`.
'
reason:
title: Reason
type: string
description: 'The reason for a cancel or refund request on this transaction, if any.
'
example: Item returned.
KlarnaCustomerTokenAPISchema:
title: KlarnaCustomerTokenAPISchema
required:
- klarnaCustomerToken
- sessionData
type: object
properties:
klarnaCustomerToken:
title: Klarnacustomertoken
type: string
sessionData:
$ref: '#/components/schemas/KlarnaSessionDetailsAPISchema'
PostAuthFraudDecisionTypeEnum:
title: PostAuthFraudDecisionTypeEnum
enum:
- ACCEPT
- REFUSE
- FAILED
- THREE_DS
type: string
description: Possible post-authorization fraud check outcomes.
Currency:
title: Currency
enum:
- AED
- AFN
- ALL
- AMD
- ANG
- AOA
- ARS
- AUD
- AWG
- AZN
- BAM
- BBD
- BDT
- BGN
- BHD
- BIF
- BMD
- BND
- BOB
- BOV
- BRL
- BSD
- BTN
- BWP
- BYR
- BYN
- BZD
- CAD
- CDF
- CHE
- CHF
- CHW
- CLP
- CNY
- COP
- COU
- CRC
- CUC
- CUP
- CVE
- CZK
- DJF
- DKK
- DOP
- DZD
- EGP
- ERN
- ETB
- EUR
- FJD
- FKP
- GBP
- GEL
- GHS
- GIP
- GMD
- GNF
- GTQ
- GYD
- HKD
- HNL
- HRK
- HTG
- HUF
- IDR
- ILS
- INR
- IQD
- IRR
- ISK
- JMD
- JOD
- JPY
- KES
- KGS
- KHR
- KMF
- KPW
- KRW
- KWD
- KYD
- KZT
- LAK
- LBP
- LKR
- LRD
- LSL
- LYD
- MAD
- MDL
- MKD
- MMK
- MNT
- MOP
- MRO
- MUR
- MVR
- MWK
- MXN
- MXV
- MYR
- MZN
- NAD
- NGN
- NIO
- NOK
- NPR
- NZD
- OMR
- PAB
- PEN
- PGK
- PHP
- PKR
- PLN
- PYG
- QAR
- RON
- RSD
- RUB
- RWF
- SAR
- SBD
- SCR
- SDG
- SEK
- SGD
- SHP
- SOS
- SRD
- SSP
- SVC
- SYP
- SZL
- THB
- TJS
- TMT
- TND
- TOP
- TRY
- TTD
- TWD
- TZS
- UAH
- UGX
- USD
- UYU
- UZS
- VND
- VUV
- WST
- XAF
- XAG
- XAU
- XBA
- XBB
- XBC
- XBD
- XCD
- XDR
- XFU
- XOF
- XPD
- XPF
- XPT
- XSU
- XTS
- XUA
- YER
- ZAR
- ZMW
- ZWL
description: Enumerates all supported currencies
PaymentStatusTypeEnum:
title: PaymentStatusTypeEnum
enum:
- APPLICATION_ERROR
- GATEWAY_REJECTED
- ISSUER_DECLINED
- GATEWAY_TIMEOUT
type: string
description: An enumeration.
RecurringTransactionTypeEnum:
title: RecurringTransactionTypeEnum
enum:
- FIRST_PAYMENT
- ECOMMERCE
- SUBSCRIPTION
- UNSCHEDULED
type: string
description: An enumeration.
FraudCheckAPISchema:
title: FraudCheckAPISchema
description: 'Results of the pre-authorization and post-authorization fraud checks.
'
type: object
properties:
source:
type: string
example: FRAUD_PROVIDER
preAuthorizationResult:
$ref: '#/components/schemas/PreAuthFraudDecisionTypeEnum'
example: THREE_DS
preAuthorizationRecommendation:
$ref: '#/components/schemas/PreAuthorizationRecommendationEnum'
example: TRANSACTION_RISK_ANALYSIS
postAuthorizationResult:
$ref: '#/components/schemas/PostAuthFraudDecisionTypeEnum'
example: ACCEPT
PayPalExternalPayerInfoAPISchema:
title: PayPalExternalPayerInfoAPISchema
type: object
properties:
externalPayerId:
title: Externalpayerid
type: string
email:
title: Email
type: string
firstName:
title: Firstname
type: string
lastName:
title: Lastname
type: string
CardProductTypeEnum:
title: CardProductTypeEnum
enum:
- CONSUMER
- BUSINESS
- GOVERNMENT
- UNKNOWN
type: string
description: An enumeration.
RiskDataAPISchema:
title: RiskDataAPISchema
description: 'Risk data associated with this payment.
'
type: object
properties:
fraudChecks:
title: Fraud Checks
$ref: '#/components/schemas/FraudCheckAPISchema'
cvvCheck:
title: CVV Check
$ref: '#/components/schemas/CVVCheckAPISchema'
avsCheck:
title: AVS Check
$ref: '#/components/schemas/AVSCheckAPISchema'
RiskAssessmentStatusEnum:
title: RiskAssessmentStatusEnum
enum:
- MATCHED
- NOT_MATCHED
- NOT_VERIFIED
- NOT_PROVIDED
- NOT_APPLICABLE
- SKIPPED
type: string
description: Possible risk assessment values for CVV and AVS checks.
GoCardlessMandateAPISchema:
title: GoCardlessMandateAPISchema
required:
- gocardlessMandateId
type: object
properties:
gocardlessMandateId:
title: Mandate agreement ID
type: string
description: Unique identifier of a GoCardless mandate agreement
PrepaidReloadableEnum:
title: PrepaidReloadableEnum
enum:
- RELOADABLE
- NON_RELOADABLE
- NOT_APPLICABLE
- UNKNOWN
type: string
description: An enumeration.
AVSCheckAPISchema:
title: AVSCheckAPISchema
description: 'Results of any external AVS check performed on this payment.
'
type: object
properties:
source:
type: string
example: PROCESSOR
result:
$ref: '#/components/schemas/AVSRiskAssessmentValues'
KlarnaAddressAPISchema:
title: KlarnaAddressAPISchema
type: object
properties:
title:
title: Title
type: string
firstName:
title: Firstname
type: string
lastName:
title: Lastname
type: string
email:
title: Email
type: string
phoneNumber:
title: Phonenumber
type: string
addressLine1:
title: Addressline1
type: string
addressLine2:
title: Addressline2
type: string
addressLine3:
title: Addressline3
type: string
city:
title: City
type: string
state:
title: State
type: string
countryCode:
$ref: '#/components/schemas/CountryCodeEnum'
postalCode:
title: Postalcode
type: string
PaymentResponsePaymentMethodOptionsAPISchema:
title: PaymentResponsePaymentMethodOptionsAPISchema
type: object
properties:
descriptor:
title: Payment descriptor
type: string
description: The description of the payment, as it would typically appear on a bank statement.
paymentType:
allOf:
- $ref: '#/components/schemas/RecurringPaymentTypeSchema'
paymentMethodToken:
title: Payment Method Token
type: string
description: The payment method token used to authorize the transaction.
isVaulted:
title: Boolean flag indicating if a payment method token was vaulted
type: boolean
description: If the payment method token was vaulted, this is set to `true`. Use this token for recurring payments.
analyticsId:
title: Unique analytics ID
type: string
description: Unique analytics identifier corresponding to a payment method
paymentMethodType:
title: Payment method type
allOf:
- $ref: '#/components/schemas/PaymentMethodTypeEnum'
description: Payment method type
paymentMethodData:
title: Payment method data
anyOf:
- $ref: '#/components/schemas/PaymentCardTokenAPISchema'
- $ref: '#/components/schemas/PayPalOrderTokenAPISchema'
- $ref: '#/components/schemas/PayPalBillingAgreementAPISchema'
- $ref: '#/components/schemas/GoCardlessMandateAPISchema'
- $ref: '#/components/schemas/KlarnaPaymentSessionAPISchema'
- $ref: '#/components/schemas/KlarnaCustomerTokenAPISchema'
- $ref: '#/components/schemas/IdealPayNLTokenAPISchema'
- $ref: '#/components/schemas/ApayaCustomerTokenAPISchema'
description: Payment method data
threeDSecureAuthentication:
title: Threedsecureauthentication
allOf:
- $ref: '#/components/schemas/ThreeDSecureAuthenticationAPISchema'
default:
response_code: NOT_PERFORMED
RecurringPaymentTypeSchema:
title: Recurring Payment Type
allOf:
- $ref: '#/components/schemas/RecurringTransactionTypeEnum'
description: 'Payment types, primarily to be used for recurring payments. See the table below for all possible values.
Note: if no field is set, we will return a blank value and make a best effort to calculate the downstream fields required for processing the payment.
| paymentType | Use case |
| --- | --- |
| `FIRST_PAYMENT` | a customer-initiated payment which is the first in a series of recurring payments or subscription, or a card on file scenario.
| `ECOMMERCE` | a customer-initiated payment using stored payment details where the cardholder is present.
| `SUBSCRIPTION` | a merchant-initiated payment as part of a series of payments on a fixed schedule and a set amount.
| `UNSCHEDULED` | a merchant-initiated payment using stored payment details with no fixed schedule or amount.'
CardNetworkEnum:
title: CardNetworkEnum
type: string
enum:
- AMEX
- DANKORT
- DINERS_CLUB
- DISCOVER
- ENROUTE
- ELO
- HIPER
- INTERAC
- JCB
- MAESTRO
- MASTERCARD
- MIR
- PRIVATE_LABEL
- UNIONPAY
- VISA
- CARTES_BANCAIRES
- OTHER
description: 'The list of available card networks.
'
PayPalOrderTokenAPISchema:
title: PayPalOrderTokenAPISchema
required:
- paypalOrderId
type: object
properties:
paypalOrderId:
title: PayPal order identifier
type: string
externalPayerInfo:
title: Payer Info
allOf:
- $ref: '#/components/schemas/PayPalExternalPayerInfoAPISchema'
description: Information about the PayPal customer
paypalStatus:
title: PayPal order status
type: string
PreAuthorizationRecommendationEnum:
title: PreAuthorizationRecommendationEnum
enum:
- TRANSACTION_RISK_ANALYSIS
type: string
description: 'Pre-authorization recommendation indicating the SCA exemption or risk assessment path taken. Only present when `preAuthorizationResult` is `THREE_DS_EXEMPTION`.
Values:
- `TRANSACTION_RISK_ANALYSIS`: Indicates that the fraud check deemed the transaction low risk and recommends applying a Transaction Risk Analysis (TRA) exemption to bypass Strong Customer Authentication (SCA) under PSD2, reducing friction for users.
'
ThreeDSecureFailedReasonCodeEnum:
title: ThreeDSecureFailedReasonCodeEnum
enum:
- UNKNOWN
- REJECTED_BY_ISSUER
- CARD_AUTHENTICATION_FAILED
- UNKNOWN_DEVICE
- UNSUPPORTED_DEVICE
- EXCEEDS_AUTHENTICATION_FREQUENCY_LIMIT
- EXPIRED_CARD
- INVALID_CARD_NUMBER
- INVALID_TRANSACTION
- NO_CARD_RECORD
- SECURITY_FAILURE
- STOLEN_CARD
- SUSPECTED_FRAUD
- TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER
- CARDHOLDER_NOT_ENROLLED_IN_SERVICE
- TRANSACTION_TIMED_OUT_AT_THE_ACS
- LOW_CONFIDENCE
- MEDIUM_CONFIDENCE
- HIGH_CONFIDENCE
- VERY_HIGH_CONFIDENCE
- EXCEEDS_ACS_MAXIMUM_CHALLENGES
- NON_PAYMENT_NOT_SUPPORTED
- THREE_RI_NOT_SUPPORTED
- ACS_TECHNICAL_ISSUE
- DECOUPLED_REQUIRED_BY_ACS
- DECOUPLED_MAX_EXPIRY_EXCEEDED
- DECOUPLED_AUTHENTICATION_INSUFFICIENT_TIME
- AUTHENTICATION_ATTEMPTED_BUT_NOT_PERFORMED_BY_CARDHOLDER
- ACS_TIMED_OUT
- INVALID_ACS_RESPONSE
- ACS_SYSTEM_ERROR_RESPONSE
- ERROR_GENERATING_CAVV
- PROTOCOL_VERSION_NOT_SUPPORTED
- TRANSACTION_EXCLUDED_FROM_ATTEMPTS_PROCESSING
- REQUESTED_PROGRAM_NOT_SUPPORTED
type: string
description: 'This enum is derived from the `transStatusReason` on page 218 of the
[EMV Co 3DS protocol specification](https://www.emvco.com/terms-of-use/?u=/wp-content/uploads/documents/EMVCo_3DS_Spec_v220_122018.pdf)
| Code | Description |
|------|-----------------------------------------|
| 01 | Card authentication failed |
| 02 | Unknown Device |
| 03 | Unsupported Device |
| 04 | Exceeds authentication frequency limit |
| 05 | Expired card |
| 06 | Invalid card number |
| 07 | Invalid transaction |
| 08 | No Card record |
| 09 | Security failure |
| 10 | Stolen card |
| 11 | Suspected fraud |
| 12 | Transaction not permitted to cardholder |
| 13 | Cardholder not enrolled in service |
| 14 | Transaction timed out at the ACS |
| 15 | Low confidence |
| 16 | Medium confidence |'
KlarnaSessionDetailsAPISchema:
title: KlarnaSessionDetailsAPISchema
required:
- billingAddress
- purchaseCountry
- purchaseCurrency
- locale
- orderLines
type: object
properties:
recurringDescription:
title: Recurringdescription
type: string
billingAddress:
$ref: '#/components/schemas/KlarnaAddressAPISchema'
shippingAddress:
$ref: '#/components/schemas/KlarnaAddressAPISchema'
purchaseCountry:
title: Purchasecountry
type: string
purchaseCurrency:
title: Purchasecurrency
type: string
locale:
title: Locale
type: string
orderLines:
title: Orderlines
type: array
items: {}
tokenDetails:
$ref: '#/components/schemas/KlarnaTokenDetails'
PreAuthFraudDecisionTypeEnum:
title: PreAuthFraudDecisionTypeEnum
enum:
- ACCEPT
- REFUSE
- FAILED
- THREE_DS
- THREE_DS_EXEMPTION
type: string
description: Possible pre-authorization fraud check outcomes.
TransactionDeclineReasonV2Enum:
title: TransactionDeclineReasonV2Enum
enum:
- ERROR
- INVALID_CARD_NUMBER
- EXPIRED_CARD
- LOST_OR_STOLEN_CARD
- SUSPECTED_FRAUD
- UNKNOWN
- DECLINED
- REFER_TO_CARD_ISSUER
- DO_NOT_HONOR
- INSUFFICIENT_FUNDS
- WITHDRAWAL_LIMIT_EXCEEDED
- ISSUER_TEMPORARILY_UNAVAILABLE
- AUTHENTICATION_REQUIRED
type: string
description: An enumeration.
TransactionTypeEnum:
title: TransactionTypeEnum
enum:
- SALE
- REFUND
type: string
description: An enumeration.
KlarnaTokenDetails:
title: KlarnaTokenDetails
required:
- type
type: object
properties:
type:
title: Type
type: string
brand:
title: Brand
type: string
masked_number:
title: Masked Number
type: string
expiry_date:
title: Expiry Date
type: string
CountryCodeEnum:
title: CountryCodeEnum
enum:
- AW
- AF
- AO
- AI
- AX
- AL
- AD
- AE
- AR
- AM
- AS
- AQ
- TF
- AG
- AU
- AT
- AZ
- BI
- BE
- BJ
- BQ
- BF
- BD
- BG
- BH
- BS
- BA
- BL
- BY
- BZ
- BM
- BO
- BR
- BB
- BN
- BT
- BV
- BW
- CF
- CA
- CC
- CH
- CL
- CN
- CI
- CM
- CD
- CG
- CK
- CO
- KM
- CV
- CR
- CU
- CW
- CX
- KY
- CY
- CZ
- DE
- DJ
- DM
- DK
- DO
- DZ
- EC
- EG
- ER
- EH
- ES
- EE
- ET
- FI
- FJ
- FK
- FR
- FO
- FM
- GA
- GB
- GE
- GG
- GH
- GI
- GN
- GP
- GM
- GW
- GQ
- GR
- GD
- GL
- GT
- GF
- GU
- GY
- HK
- HM
- HN
- HR
- HT
- HU
- ID
- IM
- IN
- IO
- IE
- IR
- IQ
- IS
- IL
- IT
- JM
- JE
- JO
- JP
- KZ
- KE
- KG
- KH
- KI
- KN
- KR
- KW
- LA
- LB
- LR
- LY
- LC
- LI
- LK
- LS
- LT
- LU
- LV
- MO
- MF
- MA
- MC
- MD
- MG
- MV
- MX
- MH
- MK
- ML
- MT
- MM
- ME
- MN
- MP
- MZ
- MR
- MS
- MQ
- MU
# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/primer/refs/heads/main/openapi/primer-payment-webhooks-api-openapi.yml