Skip to main content

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>
}
Important

Token will be valid for 1 hour. If a 401 Unauthorized response is returned by any other endpoint you will need to generate a new token and update your next requests.

Calculator​

The methods here follow the Responses and errors conventions.

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
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 if he signs the contract. Only executed when the checkout plugin uses data-type="redirect" and not executed for modal or popup.
cancelUrlstringNoIf passed in this URL will be used to redirect the customer back to the retailer website if he closes the integration without signing a contract otherwise the redirectUrl will be used. Only executed when the checkout plugin uses data-type="redirect" and not executed for modal or popup.
referenceNumberstringNoMust be uniqueInvoice Reference Number

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 sales tax is being sent as a separate Product.
Include the sales tax in the value if it is not sent as a separate Product. If you have a quantity of 2, the value would represent both products combined, not each product.
Best Practice

Products in the "product" array should include items such as merchandise, shipping, insurance, coupons, total sales tax, etc. asΒ separateΒ items.Β  This method provides the greatest clarity for both the retailer and the consumer to identify the itemized costs.Β  Note that the cart total is the sum of all product array "value" parameters; as an example, coupons and discounts should be included as negative values.

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" => "lorem@ipsum.com",
"referenceNumber" => "3456789",

"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"
),

array(
"id" => "2",
"description" => "Bar",
"serialNumber" => "BAR001",
"quantity" => "2",
"value" => "2200.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, Ineligible, 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
invoiceAmountdecimalYes (when status is not Signed)Contract's Invoice 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 (see Payment information)

Payment Information​

NameTypeNullable?Notes
transferIdstringYes (when status is manually processed)Payment Transfer ID
wireReferenceIdstringYes (when status is not manually processed)Payment Wire Reference ID
datedateNoPayment Date
amountdecimalNoPayment Amount
statusstringNoPayment Status. The possible values are: pending, processed, manually processed and returned

Response sample​

{
"publicId": <value>,
"applicationId": <value>,
"status": <value>,
"phone": <value>,
"approvalAmount": <value>,
"borrowedAmount": <value>,
"invoiceAmount": <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, Ineligible, 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
invoiceAmountdecimalYes (when status is not Signed)Contract's Invoice 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>,
"invoiceAmount": <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, Ineligible, 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
invoiceAmountdecimalYes (when status is not Signed)Contract's Invoice 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>,
"invoiceAmount": <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 (see Return All Return Reasons)

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" => "lorem@ipsum.com",
"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

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

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 sales tax is being sent as a separate Product.
Include the sales tax in the value if it is not sent as a separate Product. If you have a quantity of 2, the value would represent both products combined, not each product.
Best Practice

Products in the "product" array should include items such as merchandise, shipping, insurance, coupons, total sales tax, etc. asΒ separateΒ items.Β  This method provides the greatest clarity for both the retailer and the consumer to identify the itemized costs.Β  Note that the cart total is the sum of all product array "value" parameters; as an example, coupons and discounts should be included as negative values.

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(
"products" => array(
array(
"id" => "1",
"description" => "Foo",
"serialNumber" => "FOO001",
"quantity" => "1",
"value" => "1000.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

Add References To Orders​

Add the order reference into the application.

POST /v2/applications/[publicId]/orders

The application must be signed.

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

Request headers​

NameRequired?Value
AuthorizationYesSee Authentication
Content-TypeYesapplication/json

Request arguments​

NameTypeRequired?Notes
ordersarray of stringYesNumber or IDs of the orders attached to this Contract.

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(
"orders" =>
array(
0 => "1234",
1 => "9876"
)
);

curl_setopt($ch, CURLOPT_URL, "https://sandbox-lending-api.credova.com/v2/applications/".$public_id."/orders");
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.

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>
}
]