ChargeAfter Consumers V2 API
The ConsumersV2 API from ChargeAfter — 4 operation(s) for consumersv2.
The ConsumersV2 API from ChargeAfter — 4 operation(s) for consumersv2.
openapi: 3.2.0
info:
title: Chargeafter Consumers V2 API
contact:
name: Customer Support
email: support@chargeafter.com
termsOfService: https://chargeafter.com/privacy-policy
version: '1.0'
description: 'Operations tagged ConsumersV2 across 3 of this provider''s published API definitions: chargeafter-consumer-api-openapi.yml, chargeafter-consumer-credit-lookup-openapi.yml, chargeafter-consumer-details-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api-sandbox.ca-dev.co
description: Local Environment
- url: https://api.chargeafter.com
description: Production Environment
- url: https://api-develop.ca-dev.co
description: Local Environment
security:
- apiKey: []
tags:
- name: ConsumersV2
paths:
/v2/consumers/{consumerId}:
servers:
- url: https://api-sandbox.ca-dev.co
description: Local Environment
- url: https://api.chargeafter.com
description: Production Environment
get:
tags:
- ConsumersV2
summary: Get consumer details
description: Returns consumer details
parameters:
- name: consumerId
in: path
description: Unique identifier of the consumer
required: true
schema:
type: string
- name: channel
in: query
description: 'Optional Channel. If not provided, the E_COMMERCE channel will be used.<br />
Other options are IN_STORE / CALL_CENTER / IN_HOME'
schema:
type: string
- name: storeId
in: query
description: The store identifier
schema:
type: string
- name: posId
in: query
description: The point of sale identifier
schema:
type: string
- name: posType
in: query
description: The point of sale type
schema:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.Entities.PosType'
- name: currency
in: query
description: Optional ISO 4217 currency code. If not provided, the USD currency will be used.
schema:
type: string
responses:
'200':
description: Consumer is found
content:
application/json:
schema:
$ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Responses.ConsumerResponse'
'400':
description: Bad Request Error
content:
application/json:
schema:
type: object
properties:
requestId:
type: string
example: Unique RequestId
message:
type: string
example: Message Describing The Error
'401':
description: Unauthorized
'404':
description: Consumer is not found or the user is unauthorized to request
content:
application/json:
schema:
example:
errorCode: '0'
code: '400'
message: Consumer is not found
'422':
description: Input Validation Error
content:
application/json:
schema:
type: object
properties:
requestId:
type: string
message:
type: string
errors:
type: array
items:
properties:
field:
type: string
validationState:
type: string
error:
type: string
example:
RequestId: Unique RequestId
Message: Input Validation Failure
Errors:
- Field: RequestField1
ValidationState: Invalid
Error: RequestField1 should be up to 150 characters, and can contain a-z, A-Z, _ characters.
'500':
description: General Server Error
content:
application/json:
schema:
example:
requestId: Unique RequestId
errors:
- code: '1'
description: Internal unknown error occurred
/v2/consumers/{consumerId}/accounts:
servers:
- url: https://api-sandbox.ca-dev.co
description: Local Environment
- url: https://api.chargeafter.com
description: Production Environment
get:
tags:
- ConsumersV2
summary: Get accounts by consumerId
description: Lookup existing accounts by consumerId
parameters:
- name: consumerId
in: path
description: Unique identifier of the consumer
required: true
schema:
type: string
- name: channel
in: query
description: 'Optional Channel. If not provided, the E_COMMERCE channel will be used.<br />
Other options are IN_STORE / CALL_CENTER / IN_HOME'
schema:
type: string
- name: storeId
in: query
description: The store identifier
schema:
type: string
- name: posId
in: query
description: The point of sale identifier
schema:
type: string
- name: posType
in: query
description: The point of sale type
schema:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.Entities.PosType'
- name: currency
in: query
description: Optional ISO 4217 currency code. If not provided, the USD currency will be used.
schema:
type: string
responses:
'200':
description: Request is successful
content:
application/json:
schema:
$ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Responses.LookupAccountsResponse'
'400':
description: Bad Request Error
content:
application/json:
schema:
type: object
properties:
requestId:
type: string
example: Unique RequestId
message:
type: string
example: Message Describing The Error
'401':
description: Unauthorized
'404':
description: Consumer is not found or the user is unauthorized to request
content:
application/json:
schema:
example:
errorCode: '0'
code: '400'
message: Consumer is not found
'422':
description: Server unable to process request because it contains invalid data
content:
application/json:
schema:
type: object
properties:
requestId:
type: string
message:
type: string
errors:
type: array
items:
properties:
field:
type: string
validationState:
type: string
error:
type: string
example:
RequestId: Unique RequestId
Message: Input Validation Failure
Errors:
- Field: RequestField1
ValidationState: Invalid
Error: RequestField1 should be up to 150 characters, and can contain a-z, A-Z, _ characters.
'500':
description: General Server Error
content:
application/json:
schema:
example:
requestId: Unique RequestId
errors:
- code: '1'
description: Internal unknown error occurred
/v2/consumers/credit/lookup:
servers:
- url: https://api-develop.ca-dev.co
description: Local Environment
- url: https://api.chargeafter.com
description: Production Environment
post:
tags:
- ConsumersV2
summary: Credit Lookup
description: Returns the consumer's available credit based on limited PII info
parameters: []
requestBody:
content:
application/json-patch+json:
schema:
allOf:
- $ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Requests.LookupCreditRequestBody'
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Requests.LookupCreditRequestBody'
text/json:
schema:
allOf:
- $ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Requests.LookupCreditRequestBody'
application/*+json:
schema:
allOf:
- $ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Requests.LookupCreditRequestBody'
responses:
'200':
description: Request is successful
content:
application/json:
schema:
$ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Responses.LookupCreditResponse'
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
requestId:
type: string
example: Unique RequestId
message:
type: string
example: Message Describing The Error
'401':
description: Unauthorized
'422':
description: Input Validation Error
content:
application/json:
schema:
type: object
properties:
requestId:
type: string
message:
type: string
errors:
type: array
items:
properties:
field:
type: string
validationState:
type: string
error:
type: string
example:
RequestId: Unique RequestId
Message: Input Validation Failure
Errors:
- Field: RequestField1
ValidationState: Invalid
Error: RequestField1 should be up to 150 characters, and can contain a-z, A-Z, _ characters.
'500':
description: General Server Error
content:
application/json:
schema:
example:
requestId: Unique RequestId
errors:
- code: '1'
description: Internal unknown error occurred
/v2/consumers/consumer-details:
servers:
- url: https://api-sandbox.ca-dev.co
description: Sandbox Environment
- url: https://api.chargeafter.com
description: Production Environment
post:
tags:
- ConsumersV2
summary: Get accounts and account token
description: Combines account lookup and account token creation for approved accounts
parameters: []
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Requests.LookupAccountsByConsumerDetailsRequestBody'
responses:
'200':
description: Request is successful
content:
application/json:
schema:
$ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Responses.LookupAccountsResponse_2'
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
requestId:
type: string
example: Unique RequestId
message:
type: string
example: Message Describing The Error
'401':
description: Unauthorized
'422':
description: Input Validation Error
content:
application/json:
schema:
type: object
properties:
requestId:
type: string
message:
type: string
errors:
type: array
items:
properties:
field:
type: string
validationState:
type: string
error:
type: string
example:
RequestId: Unique RequestId
Message: Input Validation Failure
Errors:
- Field: RequestField1
ValidationState: Invalid
Error: RequestField1 should be up to 150 characters, and can contain a-z, A-Z, _ characters.
'500':
description: General Server Error
content:
application/json:
schema:
example:
requestId: Unique RequestId
errors:
- code: '1'
description: Internal unknown error occurred
components:
schemas:
ChargeAfter.ConsumersV1.WebApi.Contracts.Requests.ConsumerAccountsCheckoutDetails:
type: object
properties:
currency:
type:
- string
- 'null'
description: Optional ISO 4217 currency code. If not provided, the USD currency will be used.
channel:
type:
- string
- 'null'
description: 'Optional Channel. If not provided, the E_COMMERCE channel will be used.<br />
Other options are IN_STORE / CALL_CENTER / IN_HOME'
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.EligibilityStatus:
enum:
- Eligible
- Ineligible
type: string
ChargeAfter.ConsumersV1.WebApi.Contracts.Responses.LookupAccountsResponse_2:
required:
- applicationId
type: object
properties:
accountsInfo:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Models.AccountInfo'
description: Consumer accounts with additional information
applicationId:
minLength: 1
type: string
description: Unique identifier of the application
failures:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Models.Failure'
description: List of failed lookups and unusable accounts
additionalProperties: false
ChargeAfter.ConsumersV1.WebApi.Contracts.Responses.LookupAccountsResponse:
required:
- applicationId
type: object
properties:
accountsInfo:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Models.AccountInfo'
description: Consumer accounts with additional information
applicationId:
minLength: 1
type: string
description: Unique identifier of the application
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.PromoSettings:
type: object
properties:
isPromo:
type: boolean
numberOfPeriods:
type:
- integer
- 'null'
format: int32
periodicPayment:
type:
- number
- 'null'
format: double
periodType:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.Entities.PeriodType'
apr:
type:
- number
- 'null'
format: double
type:
type:
- string
- 'null'
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.Account:
required:
- id
- lenderId
- lenderName
- offers
- status
type: object
properties:
id:
minLength: 1
type: string
lenderId:
minLength: 1
type: string
lenderName:
minLength: 1
type: string
status:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Contracts.AccountStatus'
offers:
type: array
items:
$ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.Offer'
creditInfo:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.CreditInfo'
additionalProperties: false
ChargeAfter.ConsumersV1.WebApi.Contracts.Models.LookupCreditConsumerDetails:
type: object
properties:
firstName:
type:
- string
- 'null'
description: The first name of the consumer.
example: Tomes
lastName:
type:
- string
- 'null'
description: The last name of the consumer.
example: Tasio
email:
type:
- string
- 'null'
description: Consumer email.
example: john.doe@gmail.com
dateOfBirth:
type:
- string
- 'null'
description: Date of birth in ISO 8601 format
format: date-time
example: '1994-05-12T00:00:00Z'
socialSecurityNumber:
type:
- string
- 'null'
description: 'US Social security number (SSN).<br />
9-digits number without dashes.'
example: '123456789'
last4SsnDigits:
type:
- string
- 'null'
description: 'US Social security number (SSN) last 4 digits.<br />
4-digits number without dashes.
If provided together with full SSN it must match its last 4 digits.'
example: '6789'
mobilePhoneNumber:
type:
- string
- 'null'
description: The mobile phone number of the consumer.
example: '52342358765'
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.Language:
enum:
- En
- Fr
type: string
ChargeAfter.Libraries.WebApi.Contracts.MarriageStatus:
enum:
- Not Married
- Married
type: string
ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.DisclosureType:
enum:
- Link
- Hosted
type: string
ChargeAfter.ConsumersV1.WebApi.Contracts.Models.LookupCreditMerchantDetails:
type: object
properties:
storeId:
type:
- string
- 'null'
description: The store identifier
channel:
type:
- string
- 'null'
description: 'Optional Channel. If not provided, the E_COMMERCE channel will be used.<br />
Other options are IN_STORE / CALL_CENTER / IN_HOME'
additionalProperties: false
ChargeAfter.Contracts.AccountStatus:
enum:
- None
- New
- NotFound
- PreApproved
- Approved
- Banned
- Declined
- Error
- Pending
- PartiallyApproved
- Frozen
- PreDeclined
- PendingConsumer
type: string
ChargeAfter.Libraries.Entities.PeriodType:
enum:
- Day
- Month
- Week
- BiWeek
type: string
ChargeAfter.Libraries.Entities.ResidenceType:
enum:
- OWN
- RENT
- OTHER
type: string
ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.OfferDisclosures:
type: object
properties:
apply:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.Disclosure'
confirm:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.Disclosure'
additionalProperties: false
ChargeAfter.ConsumersV1.WebApi.Contracts.Requests.LookupAccountsByConsumerDetailsRequestBody:
required:
- consumerDetails
type: object
properties:
consumerDetails:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.ConsumerDetails'
description: Consumer details
checkoutDetails:
allOf:
- $ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Requests.ConsumerAccountsCheckoutDetails'
description: Optional checkout details
merchantDetails:
allOf:
- $ref: '#/components/schemas/ChargeAfter.BFF.WebApi.Contracts.Models.MerchantDetails'
description: Optional merchant details
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.ConsumerDetails:
required:
- billingAddress
- dateOfBirth
- email
- firstName
- lastName
- netMonthlyIncome
- shippingAddress
type: object
properties:
firstName:
minLength: 1
type: string
lastName:
minLength: 1
type: string
email:
minLength: 1
type: string
shippingAddress:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.Address'
billingAddress:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.Address'
spouseInfo:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.SpouseInfo'
marriageStatus:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.MarriageStatus'
netMonthlyIncome:
type: number
format: double
annualNetIncome:
type:
- number
- 'null'
format: double
annualGrossIncome:
type:
- number
- 'null'
format: double
updatedIncomeType:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.Entities.IncomeType'
monthlyHousingPaymentIncome:
type:
- number
- 'null'
format: double
grossMonthlyIncome:
type:
- number
- 'null'
format: double
dateOfBirth:
type: string
format: date-time
socialSecurityNumber:
type:
- string
- 'null'
additionalIds:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.AdditionalIds'
mobilePhoneNumber:
type:
- string
- 'null'
housingStatus:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.Entities.ResidenceType'
preferences:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.Preferences'
merchantConsumerId:
type:
- string
- 'null'
additionalProperties: false
ChargeAfter.ConsumersV1.WebApi.Contracts.Models.AccountInfo:
required:
- account
type: object
properties:
account:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.Account'
description: Consumer account as returned by the configured lender
accountToken:
type:
- string
- 'null'
description: Account token used for confirmation/charge creation. Returned for approved account
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.Eligibility:
type: object
properties:
status:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.EligibilityStatus'
ineligibilityReason:
type:
- string
- 'null'
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.AdditionalIds:
type: object
properties:
socialInsuranceNumber:
type:
- string
- 'null'
additionalProperties: false
ChargeAfter.Libraries.Entities.IncomeType:
enum:
- MonthlyNet
- MonthlyGross
- AnnualNet
- AnnualGross
type: string
ChargeAfter.Libraries.WebApi.Contracts.SpouseInfo:
type: object
properties:
spouseSameAddress:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.BoolType'
spouseAddress:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.Address'
spouseFirstName:
type:
- string
- 'null'
spouseLastName:
type:
- string
- 'null'
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.FinancialProductType:
enum:
- LineOfCredit
- Installments
- LeaseToOwn
- MerchantSelfFinancing
type: string
ChargeAfter.ConsumersV1.WebApi.Contracts.Responses.Address:
type: object
properties:
city:
type:
- string
- 'null'
example: Springfield
line1:
type:
- string
- 'null'
example: 273 Lee Avenue
line2:
type:
- string
- 'null'
state:
type:
- string
- 'null'
example: MA
zipCode:
type:
- string
- 'null'
example: '01104'
country:
type:
- string
- 'null'
example: US
additionalProperties: false
ChargeAfter.ConsumersV1.WebApi.Contracts.Responses.AdditionalIds:
type: object
properties:
socialInsuranceNumber:
type:
- string
- 'null'
example: '454654654'
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.Address:
required:
- city
- country
- line1
- state
- zipCode
type: object
properties:
country:
minLength: 1
type: string
state:
minLength: 1
type: string
city:
minLength: 1
type: string
line1:
minLength: 1
type: string
line2:
type:
- string
- 'null'
zipCode:
minLength: 1
type: string
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.Error:
type: object
properties:
code:
type:
- string
- 'null'
description:
type:
- string
- 'null'
metadata:
type:
- object
- 'null'
additionalProperties: {}
applicationType:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.ApplicationType'
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.FailureStatus:
enum:
- None
- NotFound
- PreApproved
- Approved
- Banned
- Declined
- NonUsable
- Error
- Pending
- Ineligible
- Cancelled
type: string
ChargeAfter.ConsumersV1.WebApi.Contracts.Requests.LookupCreditRequestBody:
required:
- consumerDetails
type: object
properties:
consumerDetails:
allOf:
- $ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Models.LookupCreditConsumerDetails'
merchantDetails:
allOf:
- $ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Models.LookupCreditMerchantDetails'
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.Disclosure:
type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.DisclosureType'
url:
type:
- string
- 'null'
mimeType:
type:
- string
- 'null'
additionalProperties: false
ChargeAfter.ConsumersV1.WebApi.Contracts.Responses.ConsumerResponse:
type: object
properties:
id:
type:
- string
- 'null'
description: Unique consumer id
example: 63126524b97bd7d254c71041
firstName:
type:
- string
- 'null'
example: John
lastName:
type:
- string
- 'null'
example: Arlen
email:
type:
- string
- 'null'
example: someone@example.com
shippingAddress:
allOf:
- $ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Responses.Address'
billingAddress:
allOf:
- $ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Responses.Address'
netMonthlyIncome:
type:
- number
- 'null'
format: double
example: 5000
grossMonthlyIncome:
type:
- number
- 'null'
format: double
dateOfBirth:
type:
- string
- 'null'
format: date-time
socialSecurityNumber:
type:
- string
- 'null'
example: '324620074'
additionalIds:
allOf:
- $ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Responses.AdditionalIds'
mobilePhoneNumber:
type:
- string
- 'null'
housingStatus:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.Entities.ResidenceType'
merchantConsumerId:
type:
- string
- 'null'
example: 624d519bde8287d9542d4484
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.Preferences:
type: object
properties:
language:
allOf:
- $ref: '#/components/schemas/ChargeAfter.Libraries.WebApi.Contracts.Language'
marketingOptIn:
type:
- boolean
- 'null'
additionalProperties: false
ChargeAfter.Libraries.WebApi.Contracts.Responses.Offers.Models.ApplicationType:
enum:
- Unknown
- New
- Prequalification
- Application
- Error
type: string
ChargeAfter.ConsumersV1.WebApi.Contracts.Responses.LookupCreditResponse:
type: object
properties:
credits:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Models.LenderCreditInfo'
failures:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ChargeAfter.ConsumersV1.WebApi.Contracts.Models.LenderFailure'
additionalProperties: false
ChargeAfter.ConsumersV1.WebApi.Cont
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/chargeafter/refs/heads/main/openapi/chargeafter-consumersv2-api-openapi.yml