POST /CheckOut2Api/v2/AuthorizeDirectInvoiceEID
The method authorize an invoices based on provided parameters and returns purchaseid. If Electronic ID validation is required the function will respond only with purchaseid and a flag that electronicID validation is required.
- Call AuthorizeDirectInvoiceEID
- Check response – if no electronic ID validation is required then response message contains everything to complete the order.
- IF ELECTRONIC ID VALIDATION IS REQUIRED:
- Check response – if electronic ID validation is required then response contains only purchaseid and IsElectronicValidationNeeded = true. Merchant now needs to redirect the user to a predefined URL where Avarda offer ElectronicID validation. URL:
/CheckOut2ElectronicId/?externalId=
{PURCHASEID}
&returnUrl={yourreturnurl.com}
- After electronicID validation is performed then Avarda redirect back to defined returnURL. Example:
https://yourreturnurl.com/?externalId=d736dd5fea853b18a30fd2413ebfcab5&status=OK
- Merchant checks status on the purchase via GetPaymentStatus. If ok then fulfill the order
To send the invoice and debit the end customer an extra call to PurchaseOrder is required when goods are delivered.
Input Parameters
Name | Data Type | Default Value | Description |
---|---|---|---|
IdentificationNumber | String | An empty string | Social security number of the customer |
IsB2B | Boolean | FALSE | Switching between Business to Customer and Busines to business |
ReferenceName | String | An empty string | |
ReferenceId | String | An empty string | |
UserLanguageCode | String | en-US | The culture to use in check-out form. Affects both language and value formatting. Supported values: en-US : Englishsv-SE : Swedishfi-FI : Finnishda-DK: Danish nb-NO: Norwegian |
Description | String (max. 4000 characters) | An empty string | A textual description of the purchase without any specific format that the partner may provide. |
Price | Decimal | None. Must be specified | The total amount to pay. Must be greater than 0. |
Phone | String (max. 15 characters not counting white spaces, so technically any length) | An empty string | Customer’s phone number to pre-fill in the form. |
String (max. 60 characters) | An empty string | Customer’s e-mail address to pre-fill in the form. | |
IsPhoneAndMailEditable | Boolean | true | Whether to allow the user to edit the Phone and Mail fields. |
InvoicingFirstName | String (max. 40 characters) | An empty string | Customer’s first name. This is used also as a first name of the person on the invoicing address. |
InvoicingLastName | String (max. 40 characters) | An empty string | Customer’s last name. This is used also as a last name of the person on the invoicing address. |
InvoicingAddressLine1 | String (max. 40 characters) | An empty string | The line of the invoicing address that appears below customer’s name. Usually contains a street name and an ordinal number of the building. |
InvoicingAddressLine2 | String (max. 40 characters) | An empty string | The line of the invoicing address that appears below customer’s name. Usually contains a street name and an ordinal number of the building. |
InvoicingZip | String (max. 6 characters) | An empty string | The ZIP on the invoicing address. |
InvoicingCity | String (max. 30 characters) | An empty string | The city on the invoicing address. |
IsInvoicingEditable | Boolean | False | Whether the customer can edit the attributes related to invoicing address manually. |
DeliveryFirstName | String (max. 40 characters) | An empty string | First name of the person on the delivery address. |
DeliveryLastName | String (max. 40 characters) | An empty string | Last name of the person on the delivery address. |
DeliveryAddressLine1 | String (max. 40 characters) | An empty string | The line of the delivery address that appears below customer’s name. Usually contains a street name and an ordinal number of the building. |
DeliveryAddressLine2 | String (max. 40 characters) | An empty string | The line of the delivery address that appears below customer’s name. Usually contains a street name and an ordinal number of the building. |
DeliveryZip | String (max. 6 characters) | An empty string | The ZIP on the delivery address. |
DeliveryCity | String (max. 30 characters) | An empty string | The city on the delivery address. |
IsDeliveryEditable | Boolean | False | Enabling/disabling checkbox visibility for delivery address. |
UseDifferentDeliveryAddress | Boolean | False | The initial state of the “Same delivery address” checkbox on the check-out form. |
Items | Class List of Items | None. Must be specified | A list of items representing the individual rows on an invoice. Individual items may have a negative value but the total sum of all items must be positive. |
LoyaltyNumber | String | An empty string | Can be a number of a customer’s membership card. |
ProductGroup | String | An empty string | String that defines the product category. |
OrderReference | String | An empty string | Merchant custom ID reference. |
ReleasedByName | String | An empty string | |
PartnerCode | String | ||
DefaultPaymentMethod | Enumeration PaymentMethod | Invoice | A payment method to pre-select when the check-out form is shown for the first time. |
OfferRecPmt | Boolean | false | |
PreSelectRecPmt | Boolean | false | |
CustomerToken | String | An empty value | CustomerToken is a key associated with customer details. |
CompanyName | String | n empty string | |
Emailinvoice | Nullable int | null | 0 = Do not send ivoice by email. 1 = Send invoice by email. empty = no update. |
OfferNewsLetter | Boolean | false |
Items
The class represents a single row that appears on an invoice. Typically a purchased commodity but it can also be a more abstract think such as a discount with a negative value.
Example request
Output parameters
Return Value – If no extra electronicID validation is required. Process is Done.
Name | Data Type | Description |
---|---|---|
ExternalId | String | An ID acquired when initializing a Check-Out session. |
AccountNumber | Decimal | The bank account number associated with the payment. |
FirstName | String | Customer’s first name. This is used also as a first name of the person on the invoicing address. |
LastName | String | Customer’s last name. This is used also as a last name of the person on the invoicing address. |
RequireDeliveryAuthorization | Boolean | |
CreditLimit | Decimal | |
ErrorType | Decimal | |
ErrorMessage | String |
Output parameters Example
Return Value – When extra electroniID validation is required.
Name | Data Type | Description |
---|---|---|
ExternalId | String | An ID acquired when initializing a Check-Out session. |
IsElectronicValidationNeeded | Boolean | |
ErrorType | Decimal | |
ErrorMessage | String |
Output parameters Example
Redirect user to ID validation
Redirect user to following URL where ElectronicID validation is performed.
PROD:
https://online.avarda.org/CheckOut2/CheckOut2ElectronicId/?externalId={PURCHASEID}&returnUrl={yourreturnurl.com}
TEST
https://stage.avarda.org/CheckOut2/CheckOut2ElectronicId/?externalId={PURCHASEID}&returnUrl={yourreturnurl.com}
Callback Success
https://yourreturnurl.com/?externalId=d736dd5fea853b18a30fd2413ebfcab5&status=OK
Merchant: calls GetPurchaseStatus and if Completed then fulfill the order.
Callback Failed
https://yourreturnurl.com/?externalId=d736dd5fea853b18a30fd2413ebfcab5&status=Cancel
Merchant: offer other payment method or try electronic id validation again.
Error messages
Error Message |
---|
Address (in delivery address) must be between 0 and 40 characters. |
Address (in invoicing address) must be between 0 and 40 characters. |
Address (in invoicing address) should not be empty. |
Amount can’t be empty! |
Checkout site is not allowed to work with B2b. |
City (in delivery address) must be between 0 and 30 characters. |
City (in invoicing address) must be between 0 and 30 characters. |
City (in invoicing address) should not be empty. |
Customer Token is not valid. |
Description must be between 0 and 4000 characters. |
E-mail is not a valid email address. |
E-mail must be between 0 and 60 characters. |
E-mail should not be empty. |
EmailInvoice must be equal 0, 1 or empty |
Identification Number should not be empty. |
Invalid or not supported UserLanguageCode. |
Item Amount must be specified. |
Item description must be specified and must not be longer than 35 characters or empty. |
Item notes must not be longer than 35 characters. |
Items List must contain at least one item. |
Name (in delivery address) must be between 0 and 40 characters. |
Name (in invoicing address) must be between 0 and 100 characters. |
Name (in invoicing address) must be between 0 and 40 characters. |
Name (in invoicing address) should not be empty. |
Number of notes characters exceeded |
Order Reference should not be empty. |
Payment Terms should not be empty. |
Phone Number must be between 0 and 15 characters. |
Phone should not be empty. |
Price must be either 0 (in case of no items), or greater than or equal to 0 and greater than or equal to sum of item prices. |
Price should not be empty. |
Site has no invoice account class associated. |
SSN is invalid. |
TermsAndConditionsUrl is not in valid format |
The items amount can have a maximum of 2 decimal places. |
The items tax amount can have a maximum of 2 decimal places. |
The price can have a maximum of 2 decimal places. |
Total price is not equal to sum of item prices |
ZIP (in delivery address) must be between 0 and 10 characters. |
ZIP (in invoicing address) must be between 0 and 10 characters. |
ZIP (in invoicing address) should not be empty. |