Reference

Authentication

The methods here follow the Responses and errors conventions.

Generate Token

Generates the authentication token.

POST /v2/token
InformationValue
URL/v2/token
Request method (verb)POST
Requires authentication?No

Request headers

NameRequired?Value
Content-TypeYesapplication/x-www-form-urlencoded

Request arguments

NameTypeRequired?Notes
usernamestringYesThe username provided by our team
passwordstringYesThe password provided by our team

Request sample

<?php
$headers = array(
"Content-Type: application/x-www-form-urlencoded"
);
$fields = array(
"username" => "foo",
"password" => "bar"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/token");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=foo&password=bar");
$response = curl_exec($ch);
$decoded = json_decode($response, TRUE);
$authentication_token = $decoded["jwt"];
echo "Authentication token is ".$authentication_token;

Response fields

NameTypeNullable?Notes
jwtstringNoThe authentication token

Response sample

{
"jwt": <value>
}

Calculator

The methods here follow the Responses and errors conventions.

External Calculator Limits

Returns the financing range for a specific financing partner using the external calculator.

GET /v2/calculator/financingpartner/[code]/externalcalculator
InformationValue
URL/v2/calculator/financingpartner/{code}/externalcalculator
Request method (verb)GET
Requires authentication?No

Request headers

NameRequired?Value
Content-TypeYesapplication/json

Request arguments

NameTypeRequired?Notes
codestringYesThe financing partner code

Request sample

<?php
$financing_partner_code = "FOO";
$headers = array(
"Content-Type: application/json"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/calculator/financingpartner/".$financing_partner_code."/externalcalculator");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

NameTypeNullable?Notes
minimumFinancedAmountdecimalNoMinimum financed amount
maximunFinancedAmountdecimalNoMaximun financed amount

Response sample

{
"minimumFinancedAmount": <value>,
"maximunFinancedAmount": <value>
}

External Calculator

Returns the monthly payments, financed period, and early buyout options for a specific financing partner using the external calculator configured.

POST /v2/calculator/financingpartner/[code]/amount/[financedAmount]/externalcalculator
InformationValue
URL/v2/calculator/financingpartner/{code}/amount/{financedAmount}/externalcalculator
Request method (verb)POST
Requires authentication?No

Request headers

NameRequired?Value
Content-TypeYesapplication/json

Request arguments

NameTypeRequired?Notes
codestringYesThe financing partner code
financedAmountdecimalYesFinanced amount

Request sample

<?php
$financing_partner_code = "FOO";
$financed_amount = 1234;
$headers = array(
"Content-Type: application/json"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/calculator/financingpartner/".$financing_partner_code."/amount/".$financed_amount."/externalcalculator");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, array());
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

NameTypeNullable?Notes
financingPartnerCodestringNoFinancing Partner's Code
financingPartnerNamestringNoFinancing Partner's Name
financingPartnerDisplayNamestringNoFinancing Partner's Display Name
profileIdintNoProfile's Id
profileNamestringNoProfile's Name
minCreditScoredecimalNoCredit Score for minimum monthly payment value
minMonthlyPaymentdecimalNoMonthly Payment minimum value
maxCreditScoredecimalNoCredit Score for maximun monthly payment value
maxMonthlyPaymentdecimalNoMonthly Payment maximum value
financePeriodintNoFinance Period
disclaimerstringYesOffer disclaimer
earlyBuyoutOptionsarray of objectNoEarly Buyout options

Early Buyout options fields:

NameTypeNullable?Notes
monthintNoMonth
earlyBuyoutPaymentdecimalNoEarly Buyout Payment value
savingsPercentagedecimalNoSavings percentage

Response sample

{
"financingPartnerCode": <value>,
"financingPartnerName": <value>,
"financingPartnerDisplayName": <value>,
"profileId": <value>,
"profileName": <value>,
"minCreditScore": <value>,
"minMonthlyPayment": <value>,
"maxCreditScore": <value>,
"maxMonthlyPayment": <value>,
"financePeriod": <value>,
"disclaimer": <value>,
"earlyBuyoutOptions": [
{
"month": <value>,
"earlyBuyoutPayment": <value>,
"savingsPercentage": <value>
}
]
}

Profiles Calculator

Returns the monthly payments, financed period, and early buyout options for all profiles of a specific financing partner.

POST /v2/calculator/financingpartner/[code]/amount/[financedAmount]
InformationValue
URL/v2/calculator/financingpartner/{code}/amount/{financedAmount}
Request method (verb)POST
Requires authentication?No

Request headers

NameRequired?Value
Content-TypeYesapplication/json

Request arguments

NameTypeRequired?Notes
codestringYesThe financing partner code
financedAmountdecimalYesFinanced amount

Request sample

<?php
$financing_partner_code = "FOO";
$financed_amount = 1234;
$headers = array(
"Content-Type: application/json"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/calculator/financingpartner/".$financing_partner_code."/amount/".$financed_amount);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, array());
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

NameTypeNullable?Notes
financingPartnerCodestringNoFinancing Partner's Code
financingPartnerNamestringNoFinancing Partner's Name
financingPartnerDisplayNamestringNoFinancing Partner's Display Name
profileIdintNoProfile's Id
profileNamestringNoProfile's Name
minCreditScoredecimalNoCredit Score for minimum monthly payment value
minMonthlyPaymentdecimalNoMonthly Payment minimum value
maxCreditScoredecimalNoCredit Score for maximun monthly payment value
maxMonthlyPaymentdecimalNoMonthly Payment maximum value
financePeriodintNoFinance Period
disclaimerstringYesOffer disclaimer
earlyBuyoutOptionsarray of objectNoEarly Buyout options

Early Buyout option fields:

NameTypeNullable?Notes
monthintNoMonth
earlyBuyoutPaymentdecimalNoEarly Buyout Payment value
savingsPercentagedecimalNoSavings percentage

Response sample

[
{
"financingPartnerCode": <value>,
"financingPartnerName": <value>,
"financingPartnerDisplayName": <value>,
"profileId": <value>,
"profileName": <value>,
"minCreditScore": <value>,
"minMonthlyPayment": <value>,
"maxCreditScore": <value>,
"maxMonthlyPayment": <value>,
"financePeriod": <value>,
"disclaimer": <value>,
"earlyBuyoutOptions": [
{
"month": <value>,
"earlyBuyoutPayment": <value>,
"savingsPercentage": <value>
}
]
}
]

Store Calculator

Returns the monthly payments, financed period, and early buyout options for all financing partners of a specific store.

POST /v2/calculator/store/[code]/amount/[financedAmount]
InformationValue
URL/v2/calculator/store/{code}/amount/{financedAmount}
Request method (verb)POST
Requires authentication?No

Request headers

NameRequired?Value
Content-TypeYesapplication/json

Request arguments

NameTypeRequired?Notes
codestringYesThe store code
financedAmountdecimalYesFinanced amount

Request sample

<?php
$store_code = "FOO";
$financed_amount = 1234;
$headers = array(
"Content-Type: application/json"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/calculator/store/".$store_code."/amount/".$financed_amount);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, array());
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

NameTypeNullable?Notes
financingPartnerCodestringNoFinancing Partner's Code
financingPartnerNamestringNoFinancing Partner's Name
financingPartnerDisplayNamestringNoFinancing Partner's Display Name
profileIdintNoProfile's Id
profileNamestringNoProfile's Name
minCreditScoredecimalNoCredit Score for minimum monthly payment value
minMonthlyPaymentdecimalNoMonthly Payment minimum value
maxCreditScoredecimalNoCredit Score for maximun monthly payment value
maxMonthlyPaymentdecimalNoMonthly Payment maximum value
financePeriodintNoFinance Period
disclaimerstringYesOffer disclaimer
earlyBuyoutOptionsarray of objectNoEarly Buyout options

Early Buyout option fields:

NameTypeNullable?Notes
monthintNoMonth
earlyBuyoutPaymentdecimalNoEarly Buyout Payment value
savingsPercentagedecimalNoSavings percentage

Response sample

[
{
"financingPartnerCode": <value>,
"financingPartnerName": <value>,
"financingPartnerDisplayName": <value>,
"profileId": <value>,
"profileName": <value>,
"minCreditScore": <value>,
"minMonthlyPayment": <value>,
"maxCreditScore": <value>,
"maxMonthlyPayment": <value>,
"financePeriod": <value>,
"disclaimer": <value>,
"earlyBuyoutOptions": [
{
"month": <value>,
"earlyBuyoutPayment": <value>,
"savingsPercentage": <value>
}
]
}
]

Lowest Payment Option

Returns the monthly lowest payment option, financed period, and early buyout options for a specific store.

POST /v2/calculator/store/[code]/amount/[financedAmount]/lowestPaymentOption
InformationValue
URL/v2/calculator/store/{code}/amount/{financedAmount}/lowestPaymentOption
Request method (verb)POST
Requires authentication?No

Request headers

NameRequired?Value
Content-TypeYesapplication/json

Request arguments

NameTypeRequired?Notes
codestringYesThe store code
financedAmountdecimalYesFinanced amount

Request sample

<?php
$store_code = "FOO";
$financed_amount = 1234;
$headers = array(
"Content-Type: application/json"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/calculator/store/".$store_code."/amount/".$financed_amount."/lowestPaymentOption");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, array());
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

NameTypeNullable?Notes
financingPartnerCodestringNoFinancing Partner's Code
financingPartnerNamestringNoFinancing Partner's Name
financingPartnerDisplayNamestringNoFinancing Partner's Display Name
profileIdintNoProfile's Id
profileNamestringNoProfile's Name
minCreditScoredecimalNoCredit Score for minimum monthly payment value
minMonthlyPaymentdecimalNoMonthly Payment minimum value
maxCreditScoredecimalNoCredit Score for maximun monthly payment value
maxMonthlyPaymentdecimalNoMonthly Payment maximum value
financePeriodintNoFinance Period
disclaimerstringYesOffer disclaimer
earlyBuyoutOptionsarray of objectNoEarly Buyout options

Early Buyout option fields:

NameTypeNullable?Notes
monthintNoMonth
earlyBuyoutPaymentdecimalNoEarly Buyout Payment value
savingsPercentagedecimalNoSavings percentage

Response sample

{
"financingPartnerCode": <value>,
"financingPartnerName": <value>,
"financingPartnerDisplayName": <value>,
"profileId": <value>,
"profileName": <value>,
"minCreditScore": <value>,
"minMonthlyPayment": <value>,
"maxCreditScore": <value>,
"maxMonthlyPayment": <value>,
"financePeriod": <value>,
"disclaimer": <value>,
"earlyBuyoutOptions": [
{
"month": <value>,
"earlyBuyoutPayment": <value>,
"savingsPercentage": <value>
}
]
}

Application

The methods here follow the Responses and errors conventions.

Create Application

Creates a new application.

POST /v2/applications
InformationValue
URL/v2/applications
Request method (verb)POST
Requires authentication?Yes (see Authentication)

Request headers

NameRequired?Value
AuthorizationYesSee Authentication
Content-TypeYesapplication/json
Callback-UrlNoURL to be posted when there is an update on the status of the application (see Callback notification)

Request arguments

NameTypeRequired?ConstraintsNotes
publicIdstringNoIn case a pre-approval process was already made and you have an application Public Id stored
storeCodestringYes
firstNamestringYesMaximum length is 100 charactersCustomer's First Name
middleInitialstringNoMaximum length is 100 charactersCustomer's Middle Initial
lastNamestringYesMaximum length is 100 charactersCustomer's Last Name
dateOfBirthdatetimeNoMust be at least 18 years oldCustomer's Date of Birth
mobilePhonestringYesMust follow the patterns: 999-999-9999 or 9999999999Customer's Mobile Phone
emailstringNoMaximum length is 100 charactersCustomer's E-mail
addressobjectNoCustomer's Address
productsarray of objectYesList of products
redirectUrlstringNoURL to redirect the customer back to the retailer website
referenceNumberstringNoMust be uniqueInvoice Reference Number
containsFirearmbooleanNoDefault trueIndicates if the cart contains a firearm in the list of products.

Address arguments:

NameTypeRequired?ConstraintsNotes
streetstringNoMaximum length is 40 characters and PO boxes are not allowedStreet
suiteApartmentstringNoMaximum length is 5 charactersSuite/Apartment
citystringNoMaximum length is 25 charactersCity
statestringNoMust be exactly 2 upper-case letters and a valid US state abbreviationState
zipCodestringNoMaximum length is 5 charactersZip Code

Product arguments:

NameTypeRequired?ConstraintsNotes
idstringNoMaximum length is 256 charactersID
serialNumberstringNoMaximum length is 256 charactersSerial Number
descriptionstringYesMaximum length is 256 charactersDescription
quantitydecimalYesMust be greater than 0Quantity
valuedecimalYesExtended Product Value, Without Sales Tax. If you have a quantity of 2, the value is for both products, not each product.
salesTaxdecimalNoExtended Product Sales Tax

Request sample

<?php
$authentication_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
$headers = array(
"Content-Type: application/json",
"Authorization: Bearer ".$authentication_token
);
$fields = array(
"storeCode" => "LIPSUM",
"firstName" => "Lorem",
"lastName" => "Ipsum",
"dateOfBirth" => "1983-04-01",
"mobilePhone" => "123-456-789",
"email" => "[email protected]",
"referenceNumber" => "3456789",
"containsFirearm" => "false",
"address" => array(
"street" => "45999 Center Oak Plaza",
"suiteApartment" => "100",
"city" => "Sterling",
"state" => "VA",
"zipCode" => "20166"
),
"products" => array(
array(
"id" => "1",
"description" => "Foo",
"serialNumber" => "FOO001",
"quantity" => "1",
"value" => "1000.00",
"salesTax" => "100.00"
),
array(
"id" => "2",
"description" => "Bar",
"serialNumber" => "BAR001",
"quantity" => "2",
"value" => "2200.00",
"salesTax" => "220.00"
)
)
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/applications");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

NameTypeNullable?Notes
publicIdstringNoThe Public ID associated with the last checkout attempt. Always store this publicId with your cart information to future reference.
linkstringNoURL to redirect the user to our website to complete the process

Response sample

{
"publicId": <value>,
"link": <value>
}

Return Status

Returns the application status.

GET /v2/applications/[publicId]/status
InformationValue
URL/v2/applications/{publicId}/status
Request method (verb)GET
Requires authentication?Yes (see Authentication)

Request headers

NameRequired?Value
AuthorizationYesSee Authentication
Content-TypeYesapplication/json

Request arguments

NameTypeRequired?Notes
publicIdstringYesThe Public ID associated with the application or pre-qualification

Request sample

<?php
$authentication_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
$public_id = "c4c4eede-cbb0-4efd-8e10-aa1d02392ce6";
$headers = array(
"Content-Type: application/json",
"Authorization: Bearer ".$authentication_token
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/applications/".$public_id."/status");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

NameTypeNullable?Notes
publicIdstringNoThe Public ID associated with the application or pre-qualification
applicationIdintYes (when there is no application)Our internal application ID
statusstringNoCurrent status. The possible values are Pending, Pre-qualified, Declined, Approved, PendingApproval, SignedWaitingForInvoice, SignedWaitingForInvoiceApproval, Signed, Funded, PendingReturn, Returned, Expired and Error.
phonestringNoCustomer's phone number
approvalAmountdecimalYes (when status is Declined)Approval Amount
borrowedAmountdecimalYes (when status is not Signed)Contract's Borrowed Amount
totalInStorePaymentdecimalYes (when status is not Signed)Contract's Total In Store Payment
financingPartnerCodestringYes (when status is not Signed)Contract's Financing Partner Code
financingPartnerNamestringYes (when status is not Signed)Contract's Financing Partner Name
financingPartnerDisplayNamestringYes (when status is not Signed)Contract's Financing Partner Display Name
paymentInfoobjectYes (when payment is not Created)Payment information

Payment Information

NameTypeNullable?Notes
transferIDstringNoPayment transfer id
wireReferenceIdstringNoPayment wire reference Id
datedateTimeNoPayment start date
amountdecimalNoPayment amount
statusstringNoPayment status The possible values are error, failed, manually processed, pending, processed, returned and waiting.

Response sample

{
"publicId": <value>,
"applicationId": <value>,
"status": <value>,
"phone": <value>,
"approvalAmount": <value>,
"borrowedAmount": <value>,
"totalInStorePayment": <value>,
"financingPartnerCode": <value>,
"financingPartnerName": <value>,
"financingPartnerDisplayName": <value>,
"paymentInfo": {
"transferID": <value>,
"wireReferenceId": <value>,
"date": <value>,
"amount": <value>,
"status": <value>
}
}

Return Status By Phone

Returns the application status using customer phone.

* This endpoint should not be used as a validation to confirm an order on your system.

GET /v2/applications/phone/[phone]/status
InformationValue
URL/v2/applications/phone/{phone}/status
Request method (verb)GET
Requires authentication?Yes (see Authentication)

Request headers

NameRequired?Value
AuthorizationYesSee Authentication
Content-TypeYesapplication/json

Request arguments

NameTypeRequired?ConstraintsNotes
phonestringYesMust follow the patterns: 999-999-9999 or 9999999999The phone to be searched

Request sample

<?php
$authentication_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
$phone = "815-227-1188";
$headers = array(
"Content-Type: application/json",
"Authorization: Bearer ".$authentication_token
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/applications/phone/".$phone."/status");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

NameTypeNullable?Notes
publicIdstringNoThe Public ID associated with the application or pre-qualification
applicationIdintYes (when there is no application)Our internal application ID
statusstringNoCurrent status. The possible values are Pending, Pre-qualified, Declined, Approved, PendingApproval, SignedWaitingForInvoice, SignedWaitingForInvoiceApproval, Signed, Funded, PendingReturn, Returned, Expired, Error
phonestringNoCustomer's phone number
approvalAmountdecimalYes (when status is Declined)Approval Amount
borrowedAmountdecimalYes (when status is not Signed)Contract's Borrowed Amount
totalInStorePaymentdecimalYes (when status is not Signed)Contract's Total In Store Payment
financingPartnerCodestringYes (when status is not Signed)Contract's Financing Partner Code
financingPartnerNamestringYes (when status is not Signed)Contract's Financing Partner Name
financingPartnerDisplayNamestringYes (when status is not Signed)Contract's Financing Partner Display Name

Response sample

{
"publicId": <value>,
"applicationId": <value>,
"status": <value>,
"phone": <value>,
"approvalAmount": <value>,
"borrowedAmount": <value>,
"totalInStorePayment": <value>,
"financingPartnerCode": <value>,
"financingPartnerName": <value>,
"financingPartnerDisplayName": <value>
}

Applications Status List

Returns a list of application and their status.

GET /v2/applications/from/[storeCode]/at/[date]
InformationValue
URL/v2/applications/from/{storeCode}/at/{date}
Request method (verb)GET
Requires authentication?Yes (see Authentication)

Request headers

NameRequired?Value
AuthorizationYesSee Authentication
Content-TypeYesapplication/json

Request arguments

NameTypeRequired?Notes
storeCodestringYesThe Code associated with the store
datestringYesThe date as string on which the applications were created. in the following format {YYYY-MM-DD}

Request sample

<?php
$authentication_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
$public_id = "c4c4eede-cbb0-4efd-8e10-aa1d02392ce6";
$headers = array(
"Content-Type: application/json",
"Authorization: Bearer ".$authentication_token
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/applications/from/".$store_code."/at/".$date);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

NameTypeNullable?Notes
publicIdstringNoThe Public ID associated with the application or pre-qualification
applicationIdintYes (when there is no application)Our internal application ID
statusstringNoCurrent status. The possible values are Pending, Pre-qualified, Declined, Approved, PendingApproval, SignedWaitingForInvoice, SignedWaitingForInvoiceApproval, Signed, Funded, PendingReturn, Returned, Expired and Error.
phonestringNoCustomer's phone number
approvalAmountdecimalYes (when status is Declined)Approval Amount
borrowedAmountdecimalYes (when status is not Signed)Contract's Borrowed Amount
totalInStorePaymentdecimalYes (when status is not Signed)Contract's Total In Store Payment
financingPartnerCodestringYes (when status is not Signed)Contract's Financing Partner Code
financingPartnerNamestringYes (when status is not Signed)Contract's Financing Partner Name
financingPartnerDisplayNamestringYes (when status is not Signed)Contract's Financing Partner Display Name
paymentInfoobjectYes (when payment is not Created)Payment information

Payment Information

NameTypeNullable?Notes
transferIDstringNoPayment transfer id
wireReferenceIdstringNoPayment wire reference Id
datedateTimeNoPayment start date
amountdecimalNoPayment amount
statusstringNoPayment status The possible values are error, failed, manually processed, pending, processed, returned and waiting.

Response sample

[
{
"publicId": <value>,
"applicationId": <value>,
"status": <value>,
"phone": <value>,
"approvalAmount": <value>,
"borrowedAmount": <value>,
"totalInStorePayment": <value>,
"financingPartnerCode": <value>,
"financingPartnerName": <value>,
"financingPartnerDisplayName": <value>,
"paymentInfo": {
"transferID": <value>,
"wireReferenceId": <value>,
"date": <value>,
"amount": <value>,
"status": <value>
}
}
]

Return Request

Starts the return request process.

POST /v2/applications/[publicId]/requestreturn

The application must be signed and cannot have a pending return request.

InformationValue
URL/v2/applications/{publicId}/requestreturn
Request method (verb)POST
Requires authentication?Yes (see Authentication)

Request headers

NameRequired?Value
AuthorizationYesSee Authentication
Content-TypeYesapplication/json

Request arguments

NameTypeRequired?Notes
agentNamestringNoMaximum length is 100 characters
phonestringNoMust follow the patterns: 999-999-9999 or 9999999999
emailstringNoMaximum length is 100 characters
reasonstringNoMaximum length is 500 characters
returnTypeintNo1 = Redraft or 2 = Return
returnReasonPublicIdstringNoThe Public ID associated with the return reason

Request sample

<?php
$authentication_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
$public_id = "c4c4eede-cbb0-4efd-8e10-aa1d02392ce6";
$headers = array(
"Content-Type: application/json",
"Authorization: Bearer ".$authentication_token
);
$ch = curl_init();
$fields = array(
"agentName" => "Jonh",
"phone" => "123-456-789",
"email" => "[email protected]",
"reason" => "customer request",
"returnType" => "1",
"returnReasonPublicId" => "teydfgJhbTiulkjTUCUzI1NiIsnR5LKJosp6"
)
);
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/applications/".$public_id."/requestreturn");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, array());
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

This method does not return any content.

Upload Invoice

Attachs a new invoice to the application.

POST /v2/applications/[publicId]/uploadinvoice

The supported file types are pdf, doc, docx, tif, jpg, jpeg, gif, png, xls, xlsx, and raw image.

InformationValue
URL/v2/applications/{publicId}/uploadinvoice
Request method (verb)POST
Requires authentication?Yes (see Authentication)

Request headers

NameRequired?Value
AuthorizationYesSee Authentication
Content-TypeYesmultipart/form-data

Request arguments

NameTypeRequired?Notes
publicIdstringYesThe Public ID associated with the application
filefileYesThe invoice file

Request sample

<?php
$authentication_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
$public_id = "c4c4eede-cbb0-4efd-8e10-aa1d02392ce6";
$headers = array(
"Content-Type: multipart/form-data",
"Authorization: Bearer ".$authentication_token
);
$fields = array(
"file" => new CurlFile("invoice.pdf", "application/pdf", "invoice.pdf")
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/applications/".$public_id."/uploadinvoice");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

NameTypeNullable?Notes
statusstringNoStatus of the request

Response sample

{
"status": <value>
}

Add Delivery Information

Adds the delivery information to the application.

POST /v2/applications/[publicId]/deliveryinformation
InformationValue
URL/v2/applications/{publicId}/deliveryinformation
Request method (verb)POST
Requires authentication?Yes (see Authentication)

Request headers

NameRequired?Value
AuthorizationYesSee Authentication
Content-TypeYesapplication/json

Request arguments

NameTypeRequired?ConstraintsNotes
publicIdstringYesThe Public ID associated with the application
methodstringYesDelivery Method. Possible values are Direct or Shipped
carrierstringOnly if the delivery method is set as ShippedCarrier String Representation. (See List of Possible Carriers)
trackingNumberstringYesTracking Number
addressstringYesMaximum length is 50 charactersAddress
address2stringOnly if the delivery method is set as DirectMaximum length is 50 characters
citystringYesMaximum length is 50 charactersCity
statestringYesMaximum length is 2 charactersState
zipstringYesMaximum length is 5 charactersZip Code

Request sample

<?php
$authentication_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
$public_id = "c4c4eede-cbb0-4efd-8e10-aa1d02392ce6";
$headers = array(
"Content-Type: application/json",
"Authorization: Bearer ".$authentication_token
);
$fields = array(
"method" => "Direct",
"carrier" => "UPS",
"trackingNumber" => "000001",
"address" => "45999 Center Oak Plaza",
"address2" => "Suite 100",
"city" => "Sterling",
"state" => "VA",
"zip" => "20166"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/applications/".$public_id."/deliveryinformation");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

NameTypeNullable?Notes
statusstringNoStatus of the request

Response sample

{
"status": <value>
}

List of Possible Carriers

NameString Representation
AmazonMwsAmazonMws
APCAPC
AsendiaAsendia
Australia PostAustraliaPost
AxlehireV3AxlehireV3
BondBond
BorderGuruBorderGuru
CainiaoCainiao
Canada PostCanadaPost
CanparCanpar
CDL Last Mile SolutionsColumbusLastMile
ChronopostChronopost
Colis PrivéColisPrive
ColissimoColissimo
Courier ExpressCourierExpress
CouriersPleaseCouriersPlease
Dai PostDaiPost
Deutsche PostDeutschePost
Deutsche Post UKDeutschePostUK
DHL eCommerce AsiaDHLEcommerceAsia
DHL eCommerce SolutionsDhlEcs
DHL ExpressDHLExpress
DHL FreightDHLFreight
DHL GermanyDHLGermany
DPDDPD
DPD UKDPDUK
EMSChinaEMS
EstafetaEstafeta
FastwayFastway
FedExFedEx
FedEx Cross BorderFedExCrossBorder
FedEx MailviewFedExMailview
FedEx SameDay CityFedExSameDayCity
FedEx SmartPostFedexSmartPost
FirstMileFirstMile
GlobegisticsGlobegistics
GSOGSO
HermesHermes
Hong Kong PostHongKongPost
Interlink ExpressInterlinkExpress
Janco FreightJancoFreight
JP PostJPPost
Kuroneko YamatoKuronekoYamato
La PosteLaPoste
LaserShipLaserShipV2
LieferyLiefery
Loomis ExpressLoomisExpress
LSOLSO
NewgisticsNewgistics
OnTracOnTrac
Osm WorldwideOsmWorldwide
ParcelforceParcelforce
PassportPassport
PCF Final MilePcfFinalMile
PilotPilot
PostNLPostNL
PostNordPostNord
PurolatorPurolator
Royal MailRoyalMail
RR DonnelleyRRDonnelley
SekoSeko
SEKO OmniParcelOmniParcel
Singapore PostSingaporePost
Spee-DeeSpeeDee
StarTrackStarTrack
TollToll
TForceTForce
UDSUDS
UkrposhtaUkrposhta
UPSUPS
UPS i-parcelUPSIparcel
UPS Mail InnovationsUPSMailInnovations
USPSUSPS
VehoVeho
YanwenYanwen

Contract Amendment Request

Starts contract amendment process.

POST /v2/applications/[publicId]/requestcontractamendment
InformationValue
URL/v2/applications/{publicId}/requestcontractamendment
Request method (verb)POST
Requires authentication?Yes (see Authentication)

Request headers

NameRequired?Value
AuthorizationYesSee Authentication
Content-TypeYesapplication/json
Callback-UrlNoURL to be posted when there is an update on the status of the contract amendment request (see Callback notification)

Request arguments

NameTypeRequired?ConstraintsNotes
productsarray of objectYesList of products
containsFirearmbooleanNoDefault trueIndicates if contains a firearm in the list of products.

Product arguments:

NameTypeRequired?ConstraintsNotes
idstringNoMaximum length is 256 charactersID
serialNumberstringNoMaximum length is 256 charactersSerial Number
descriptionstringYesMaximum length is 256 charactersDescription
quantitydecimalYesMust be greater than 0Quantity
valuedecimalYesExtended Product Value, Without Sales Tax. If you have a quantity of 2, the value is for both products, not each product.
salesTaxdecimalNoExtended Product Sales Tax

Request sample

<?php
$authentication_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
$public_id = "c4c4eede-cbb0-4efd-8e10-aa1d02392ce6";
$headers = array(
"Content-Type: application/json",
"Authorization: Bearer ".$authentication_token
);
$fields = array(
"containsFirearm" => "false",
"products" => array(
array(
"id" => "1",
"description" => "Foo",
"serialNumber" => "FOO001",
"quantity" => "1",
"value" => "1000.00",
"salesTax" => "100.00"
)
)
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/applications/".$public_id."/requestcontractamendment");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

This method does not return any content.

Callback notification

When requesting a contract amendment, you can provide the Callback-Url HTTP header with an URL that our system will POST to when there is an update on the status of the contract amendment request.

The URL must be public, secure (i.e., it must use HTTPS), support JSON requests, and return a 200 (OK) response.

Here are the fields included in the request:

NameTypeNullable?Notes
publicIdstringNoThe Public ID associated with the application or pre-qualification
statusstringNoCurrent status. The possible values are Processed, Rejected, Error
statusReasonstringYes (when status is Processed)Reason for the current status

Financing Partner

The methods here follow the Responses and errors conventions.

Return All Financing Partners

Returns all the active financing partners associated with the authenticated store.

GET /v2/financingpartners
InformationValue
URL/v2/financingpartners
Request method (verb)GET
Requires authentication?Yes (see Authentication)

Request headers

NameRequired?Value
AuthorizationYesSee Authentication
Content-TypeYesapplication/json

Request arguments

This method does not require any argument.

Request sample

<?php
$authentication_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
$headers = array(
"Content-Type: application/json",
"Authorization: Bearer ".$authentication_token
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/financingpartners");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

NameTypeNullable?Notes
codestringNoCode
namestringNoName
displayNamestringNoDisplay Name
streetstringNoStreet
suiteApartmentstringYesSuite/Apartment
citystringNoCity
statestringNoState
zipCodestringNoZip Code
phonestringNoPhone Number

Response sample

[
{
"code": <value>,
"name": <value>,
"displayName": <value>,
"street": <value>,
"suiteApartment": <value>,
"city": <value>,
"state": <value>,
"zipCode": <value>,
"phone": <value>
}
]

Return Reasons

The methods here follow the Responses and errors conventions.

Return All Return Reasons

Returns all return reasons in the system.

GET /v2/returnreasons

InformationValue
URL/v2/returnreasons
Request method (verb)GET
Requires authentication?Yes (see Authentication)

Request headers

NameRequired?Value
AuthorizationYesSee Authentication
Content-TypeYesapplication/json

Request arguments

This method does not require any argument.

Request sample

<?php
$authentication_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
$headers = array(
"Content-Type: application/json",
"Authorization: Bearer ".$authentication_token
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/returnreasons");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
echo "Response is ".$response;

Response fields

NameTypeNullable?Notes
publicIdstringNoPublicId
descriptionstringNoDescription

Response sample

[
{
"publicId": <value>,
"description": <value>
}
]