Created with Sketch.
Created with Sketch.

Confirmation

On this page you will find information about how to Process the result and the different Purchase states through out the CheckOut session.

Processing the Result

The last step occurs when the customer finishes working with the form and there’s a result available. The client script signals this by calling the done callback function (see Showing the Check-Out Form).

The done callback doesn’t contain any information about whether the payment succeeded or not. It only signals that the customer is done working with the form. The partner site back-end must check what the actual result was. We have designed it this way as a security measure, so that the partner integrators aren’t tempted to trust the client script. Unfortunately, there’s no way to prevent malicious customers from modifying the script since it runs in their browsers.

The implementation of the done function is up to partners. However, a common scenario verifies the result, passing the Purchase ID is a parameter of payment status API funtion

Payment Status

Returns information about a single purchase identified by a Purchase ID.

GET: {api_url}/api/partner/payments/{purchaseid}
Authorization: Bearer {partner_access_token} 
NameData TypeDescription
StateStateThe purchase goes through certain states during check-out. This represents the current one.
DescriptionStringAn optional description provided by partner. May be multi-line and may contain whatever the partner want.
OrderNumberStringPartner custom ID reference
ReferenceNameStringPartner custom value Reference name
PriceStringThe total price that the customer has to pay.
CreatedStringThe time of purchase creations
SiteCodeStringCode of the site in which the purchase has been made.
CountryCodeStringThe three-letters country code of the site.
CurrencyCodeStringThe three-letter code of the currency in which the purchase has been made.
PhoneStringCustomer’s phone number passed by a partner’s application.
EmailStringCustomer’s e-mail address passed by a partner’s application.
InvoicingAddressAddressInvoicing address
DeliveryAddressAddressDelivery address
AuthenticationTypeIntNone = 0, BankId = 1, Tupas = 2
PaymentMethodStringSelected Payment Method
CustomerTokenStringCustomer token
SmsNewsletterSubscriptionBoolValue of news letter subscription by SMS checkbox
OfferSmsNewsletterSubscriptionBoolValue of SmsNewsletterSubscription checkbox was displayed. False if is hidden
EmailNewsletterSubscriptionBoolValue of news letter subscription by Email checkbox
OfferEmailNewsletterSubscriptionBoolTrue if EmailNewsletterSubscription checkbox was displayed. False if is hidden
RecurringPaymentBoolValue if recurring payment is selected or no
RecurringPaymentTokenStringRecurring payment token
CardExpirationDateStringIf card payment method was selected, expiration date of used card
MaskedCardNumberStringIf card payment method was selected, Masked card number used card
CardBrandStringIf card payment method was selected, brand of used card
IsOrganizationBoolTrue if purchase type is B2B
CompanyNameStringOnly for B2B : Name of Company
OrganizationNumberStringOnly for B2B : Company SSN
PersonalNumberStringFor B2C : Customer SSN, for B2B referer SSN

Enumeration States

Each individual Purchase changes its state during a Check-Out session. The following diagram shows valid transitions between the states:

The enumeration describes the state of a single Purchase. Please refer to the diagram in Purchase States chapter to see possible transitions between states.

There are different checkout flow for B2B and B2C purchase mode.

B2C

NameValueDescription
Initialized0The session has been initialized by a back-end call made by the merchant but the form have not been rendered yet.
EmailZipEntry1The customer is filling-in either the email or ZIP.
SsnEntry2The customer has entered both email and ZIP but it turned out that we also need to know the SSN.
PhoneNumberEntry3Phone number is the 4th thing to ask for (after email, ZIP and SSN) unless it is a known customer.
PhoneNumberEntryForKnownCustomer14Customer was loaded in past steps but without phone. So in this step, we should get only phone value
PersonalInfo4Step for fill in customer info
WaitingForSwish5Waiting for response from Swish application
RedirectedToDirectPaymentBank6The customer has been redirected to a Finnish bank for a direct payment
RedirectedToNets7The customer has been redirected to a card payment provider.
WaitingForBankId8Waiting for response from BankId application
RedirectedToTupas9The customer has been redirected to a Signicat
Completed10The CheckOut has been successfully completed
TimedOut11The sessopn timed
HandledByMerchant12The customer has started external payment method
AwaitingCreditApproval13Waiting for Credit approval from merchant

B2B

NameValueDescription
Initialized0The session has been initialized by a back-end call made by the merchant but the form have not been rendered yet.
EnterCompanyInfo1The customer is company information (email, zip, company SSN, customer SSN).
CompanyAddressInfo3Step for fill in customer info
WaitingForSwish12Waiting for response from Swish application
RedirectedToDirectPaymentBank10The customer has been redirected to a Finnish bank for a direct payment
RedirectedToNets11The customer has been redirected to a card payment provider.
WaitingForBankId8Waiting for response from BankId application
RedirectedToTupas5The customer has been redirected to a Signicat
Completed9The CheckOut has been successfully completed
TimedOut14The sessopn timed