The card details.
You can pass either issuerId + corresponding accountIdentifier for the card (e.g. accountIdentifiers.galileoCad) attributes or the cardDetails object.
If issuerId + card accountIdentifier attributes are passed and issuerEventsSubscriber is set to peach, Peach will sync the card status, transactions and balances with the loan ledger seamlessly. Note: these attributes must be passed if issuerEventsSubscriber is set to peach, because Peach will need the identifying information to tie the issuer's events to the proper card.
If cardDetails is passed, the card details will be stored in the Peach system as read-only. The lender is responsible for updating the loan details based on the card usage. Note: if cardDetails is passed without issuerId and accountIdentifier, issuerEventsSubscriber cannot be set to peach.
The card issuerId and accountIdentifier attributes can be updated only if the loan status is originated or pending. After the loan is activated, the issuerId and accountIdentifier information cannot be changed.
A lender's identifier for an object.
After the object is successfully created, a lender can use ID or externalId identifiers to fetch the object.
To fetch the object using externalId you need to add ext- to the URL.
Note: Don't add ext- to the identifier value. For example: if the external identifier is ABCDE, then pass externalId=ABCDE and NOT ext-ABCDE when creating the object.
When true (default), Peach does not interact with the card directly; the object is for visualization/filter purposes only. When false, Peach will call out to / receive events from the external card system (e.g. Lithic) and issuerId plus the issuer-specific card token field (e.g. marqetaCardToken, lithicCardToken, or galileoCad) are required.
The card issuer/vendor unique identifier. The card issuer must be configured in Peach.
The lender-owned status of the card. Peach does not auto-update this field from issuer webhooks. Defaults to active on creation if not provided. This is separate from cardDetails.status which reflects the issuer-driven internal status.
The card details. The status field here reflects the issuer-driven internal status. Prefer the top-level status field for the lender-owned status.
The type of card issued. For loanType installment, only the only allowable value is virtualCard. For loanType lineOfCredit, virtual and credit card are accepted.
The reason a card's status is being updated. Please see table below for allowable statuses based on reason code.
| Peach Card Status Change Reason Code | Allowable Peach Card Status |
|---|---|
| cardCanceled | canceled |
| cardExpired | expired |
| cardInvalid | invalid |
| cardClosed | terminated |
| cardDamaged | terminated |
| cardFraudulent | paused |
| cardInactive | inactive |
| cardLost | paused |
| cardPFraud | paused |
| cardSuspended | suspended |
| cardUnauthorized | invalid |
| cardAcceptorActivityQuestionable | paused |
| cardStolen | terminated |
- oauth2
- bearerAuth
- apiKeyHeader
- Virtual card
- Credit card
curl -i -X PUT \
'https://sandboxapi.peach.finance/api/people/{personId}/loans/{loanId}/cards/{cardId}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"externalId": "string",
"galileoCad": "string",
"galileoPrn": "string",
"isExternal": true,
"issuerId": "string",
"lithicAccountToken": "string",
"lithicCardToken": "string",
"marqetaBusinessToken": "string",
"marqetaCardProductToken": "string",
"marqetaCardToken": "string",
"marqetaUserToken": "string",
"status": "active",
"cardDetails": {
"address": {
"POBox": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"country": "string",
"countyOrRegion": "string",
"postalCode": "string",
"state": "strin"
},
"cardNumberLastFour": "string",
"expirationMonth": 12,
"expirationYear": 2025,
"firstName": "string",
"fulfillmentStatus": "issued",
"lastName": "string",
"network": "visa",
"nickname": "string",
"status": "inactive",
"usageType": "singleUse",
"pan": "string"
},
"cardBalances": {
"originalAmount": 0.1
},
"type": "virtualCard",
"statusChangeReasonCode": "cardCanceled"
}'- Virtual card
- Credit card
{ "message": "string", "status": 0, "data": { "createdAt": "2019-08-24T14:15:22Z", "deletedAt": "2019-08-24T14:15:22Z", "id": "string", "updatedAt": "2019-08-24T14:15:22Z", "externalId": "string", "galileoCad": "string", "galileoPrn": "string", "isExternal": true, "issuerId": "string", "lithicAccountToken": "string", "lithicCardToken": "string", "marqetaBusinessToken": "string", "marqetaCardProductToken": "string", "marqetaCardToken": "string", "marqetaUserToken": "string", "status": "active", "cardDetails": { … }, "cardBalances": { … }, "type": "virtualCard" } }