id
required |
string (uuid)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
customerId
required |
string (uuid)
|
The customer who gave the consent.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
paymentMethodId
required |
string (uuid)
|
The customer's stored payment method the consent covers. This is the stored payment method's id,
not a payment token.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
allowedUsages
required |
StoredCredentialUsage
StoredCredentialUsage |
The kinds of later charge the cardholder agreed to (a combination of flags). Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
None |
No permitted uses. Consent record is effectively inactive. | Recurring |
Scheduled recurring charges (subscriptions, membership dues). Maps to Recurring. | Installment |
Fixed-schedule installment plans dividing a known total. Maps to Installment. | UnscheduledCOF |
Merchant-triggered charges for pre-agreed events (balance top-ups, usage overages, no-show fees, delayed charges). Maps to several MIT reason codes including UnscheduledCOF, NoShow, DelayedCharge, and IncrementalAuth. | OneTimeFuture |
A single known future cardholder-initiated purchase the credential was saved for (e.g. "save card for my next order"). Not used for MITs. |
|
consentTextVersion
required |
string
|
The version of the consent text the cardholder was shown: a hash of the rendered text, as returned
by the consent configuration operation and sent with the capture.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
consentText
required |
string
|
The exact consent text the cardholder was shown. Null when it was not recorded: a consent captured
before the text was kept, or one whose text was no longer held when it was captured. The
`consentTextVersion` is recorded either way.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
capturedAt
required |
string (date-time)
|
UTC time the cardholder gave consent.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
capturedVia
required |
ConsentCaptureChannel
ConsentCaptureChannel |
Where the consent was captured: the hosted payment page, the Virtual Terminal, the API, an import or
the merchant's back office.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
HostedPaymentPage |
Captured during a hosted payment page checkout via an opt-in checkbox the cardholder ticked. Strongest evidence: cardholder's own action with IP, user agent, and session identifier recorded. | VirtualTerminal |
Captured in the virtual terminal as a merchant operator attestation that consent was obtained from the cardholder offline (in person, by phone, signed form, etc.). Operator identity and capture method recorded. | Api |
Declared by an integrating merchant via the API. The merchant takes liability for the declaration; WinkPG records the API key, timestamp, and merchant-supplied reference. | Imported |
Imported from an external system (e.g. legacy migration, bulk reseller onboarding). Evidence captured outside WinkPG and recorded only as a reference to the external system. | MerchantAdmin |
Captured when a merchant admin manually adds a stored payment method to a customer from the back-office (Customers > customer > Payment Methods). The operator attests that they obtained the cardholder's / account holder's authorization off-line (by phone, in person, or via a signed form on file) and records where the merchant retains that artifact. Operator identity, capture method, ACH authorization type (for bank-account credentials), and a merchant evidence reference are recorded on ConsentEvidence. |
|
declaredMethod
required |
string
|
How the consent was obtained, for example `OnlineForm` or `Phone`: the method sent with an
API capture, or the method an operator recorded in the Virtual Terminal or the back office. Null for
a hosted payment page consent, whose evidence is the checkbox the cardholder ticked.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
enrollmentTerms
required |
EnrollmentTermsDto
EnrollmentTermsDto |
The terms the cardholder agreed to for a recurring or installment consent: the amount, frequency,
duration and any fee, card price or surcharge ceiling stated. Null when none were recorded.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of EnrollmentTermsDto:
| Field |
Type |
Description |
amount
required |
string
|
Statement of the amount the cardholder agreed to (for example "$29.99 per month").
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| frequency
required |
string
|
Statement of the charge frequency.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| duration
required |
string
|
Statement of how long the authorization remains in effect.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| fixedAmount
required |
number (double)
|
Fixed per-payment amount the cardholder agreed to, when one was recorded. Carries no currency.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| amountRangeDescription
required |
string
|
Description of the agreed amount range for variable-amount charges.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| convenienceFee
required |
string
|
Statement of the convenience fee the cardholder agreed to pay on every charge.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| cardPrice
required |
string
|
Statement of the dual pricing card price the cardholder agreed to pay on every card charge.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| surchargeDisclosure
required |
string
|
The surcharge ceiling statement the consent text stated.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| surchargeMaxRate
required |
number (double)
|
The surcharge ceiling as a decimal fraction (`0.03` is 3 percent).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| surchargeNoticeSentAt
required |
string (date-time)
|
UTC instant the cardholder was emailed the surcharge notice after enrollment.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| surchargeEffectiveFrom
required |
string (date-time)
|
UTC instant from which a charge under this consent may carry the noticed surcharge.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| surchargeNoticeUndeliverableAt
required |
string (date-time)
|
UTC instant the notice sweep found no way to email the cardholder.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| surchargeNoticeUndeliverableReason
required |
string
|
Short reason code for why the notice could not be sent. Never an address.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
initialTransactionId
required |
string (uuid)
|
The transaction during which the consent was captured. Null for a consent captured without one,
such as a card stored with no payment.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
initialSchemeTransactionId
required |
string
|
The card network's transaction identifier from the initial cardholder-initiated transaction, which
later merchant-initiated charges reference. Null when the processor returned none.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
revokedAt
required |
string (date-time)
|
UTC time the consent was revoked. Null while it is active.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
isRevoked
required |
boolean
|
True when the consent has been revoked and no longer permits a merchant-initiated charge.
read only
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
evidence
required |
ConsentRecordEvidenceDto
ConsentRecordEvidenceDto |
Evidence recorded by the hosted payment page when the cardholder consented there. Null for a consent
captured on another channel.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of ConsentRecordEvidenceDto:
| Field |
Type |
Description |
ipAddress
required |
string
|
The cardholder's IP address when they consented.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| userAgent
required |
string
|
The cardholder's browser user agent when they consented.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| hppSessionId
required |
string
|
The hosted payment page session in which the cardholder consented.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| checkboxLabel
required |
string
|
The exact label of the checkbox the cardholder ticked.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| cardConsentMerchantTermsVersion
required |
string
|
Version (`sha256:{hex}`) of the merchant's own terms the hosted payment page showed under the
card consent text. Null when the page showed no terms, and for a bank account consent.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| pageDisclosureTextVersion
required |
string
|
Version hash (`sha256:{hex}`) of the hosted payment page disclosure text the cardholder
accepted on the payment that established this consent. Read-only. `null` when
the page did not require acceptance, when the page asked the cardholder to accept a convenience
fee disclosure without showing disclosure text of its own, or for a consent captured before
acceptance was recorded.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| pageDisclosureAcceptedAt
required |
string (date-time)
|
UTC time the cardholder's acceptance of the hosted payment page disclosure was recorded on the
payment that established this consent (server-stamped). Read-only. `null` when
the page did not require acceptance, or for a consent captured before acceptance was recorded.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |