Document Logs
Change log:
Date: | Author: | Version: | Changes: | Completed | Ext. | Int. | Is in Core |
---|---|---|---|---|---|---|---|
11 September 2013
| Lars Trzepacz | 1.0 | Doc. created | Yes | X |
|
|
Lars Trzepacz | Doc updated: EkspresBank Ekspres Bank integration upgraded to use new API | In-progress |
...
2 - Introduction to Functionality
Ekspres bank Bank is a company that can help finance a purchase by supplying a 'loan' during the purchase phase.
This means that the customer buys a phone during sign upsignup. The customer chooses to buy through Ekspres bank Bank who then pays for the phone.
The customer now has a 'loan' at Ekspres bank Bank that the customer will pay back outside our the Rator system.
The process is done through three steps.
- The customer chooses to use Ekspres bankBank, and a container for the purchase is created at Ekspres bank Bank to Initiate the Application through a SOAP call to PrefillingService.
Note: CDRator Rator integration to Ekspres Bank API does not support this part, since it has been agreed that an external web service hosted by customer will take care of handle this. - The customer application is the then approved or rejected by Ekspres Bank. To get the application status information, Ekspres Bank is polled for a status of the purchase through a call to SOAP service: FeedbackService. The method called is getApplicationStatus.
- If the customer is approved, Rator acknowledges the purchase and sends a capture message to Ekspres bank Bank through SOAP service FeedbackService. To achieve this, putEventRecord method from FeedbackService is called with parameter EventType="282"
- It is also possible to cancel the purchase through SOAP service FeedbackService. To cancel the application, the method putEventRecord should be invoked with parameter EventType="401".
Note: It is possible to cancel the application via FeedbackService only if the Application application is not yet marked as 'Shipped' (capture signal not yet sent). Once the application has been marked as shipped'Shipped', the FeedbackService can no longer be used to cancel the application. In that case, the cancellation can be requested manually via Ekspres Bank Sales support and should be initiated by the partner. CDRator is not involved in/responsible for such manual cancellations.
...
Code Block |
---|
<groupId>com.cdrator.integration.financial</groupId> <artifactId>rator-financial-dk-ekspresbank</artifactId> |
3 - API
The Ekspres bank Bank API can be accessed through the workflow actions developed in CDRator integration project.
...
brandId: Used to read the Branded parameters. The URL of the webservice at Ekspres bank Bank and some additional required arguments are specified in the parameter tree. So brand Id is used on a branded environment.
...
Helper method | return type | Description | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
getApplicationStatusOutputExceptionIfNull() | GetApplicationStatusOutput (package path: dk.ekspresbank.feedbackservice._2014._01) | Returns a reference to the actual result object returned by the FeedbackService.getApplicationStatus call. This object can be used in case the helper methods available in ApplicationStatusResult object are not enough to meet the requirements. This method throws a RuntimeException if the GetApplicationStatusOutput object returned by FeedbackService.getApplicationStatus call is null. All the helper methods described in the next rows of this table are actually calling the corresponding getter methods on this GetApplicationStatusOutput object. Some times the helper methods perform some internal conversions/formatting for easy use. For ex:
| ||||||||||||||||||||||||||||||
isStatusResultOk() | boolean | true: The currentStatus and latestEvent value in the response can be trusted false: Something went wrong, so the response values cannot be trusted | ||||||||||||||||||||||||||||||
isHasGoAhead() | boolean | true/false Returns the value of hasGoAhead property | ||||||||||||||||||||||||||||||
isHasShipped() | boolean | true/false Returns the value of hasShipped property | ||||||||||||||||||||||||||||||
isIsOk() | boolean | true/false Returns the value of outputexception property | ||||||||||||||||||||||||||||||
getRequestId() | String | Returns the requestId returned by Ekspresbank Ekspres Bank in getApplicationStatus response | ||||||||||||||||||||||||||||||
getApplicationGuid() | String | Returns the applicationGUID returned by Ekspresbank Ekspres Bank in getApplicationStatus response. This will be same as the applicationGUID supplied in the input | ||||||||||||||||||||||||||||||
getApplicationId() | Integer | Returns the applicationId returned by Ekspresbank Ekspre sbank in getApplicationStatus response. | ||||||||||||||||||||||||||||||
getCurrentStatus() | Integer | Gets the Current status of the application. Below is a list of all possible values for CurrentStatus:
| ||||||||||||||||||||||||||||||
getCurrentStatusDate() | Date | Date on which the application reached current status | ||||||||||||||||||||||||||||||
getLatestEvent() | Integer | Gets the value of the latestEvent. Below is a list of all possible values for latestEvent property:
| ||||||||||||||||||||||||||||||
getLatestEventDate() | Date | Returns the date of latestEvent | ||||||||||||||||||||||||||||||
getContractUrl() | JAXBElement<String> | Gets the value of the contractUrl |
...
This action is used to send a Cancel signal to Ekspresbank Ekspres Bank to cancel the sale. Cancel can be initiated via this action only if the Ship Signal for this application is not yet sent to Ekspres Bank.
...
brandId: Used to read the Branded parameters. The URL of the webservice at Ekspres bank Bank and some additional required arguments are specified in the parameter tree. So brand Id brandId is used on in a branded environment.
Return value
...
This action is used to send a Ship signal to EkspresbankEkspres Bank, and the payout process is initiated.
...
brandId: Used to read the Branded parameters. The URL of the webservice at Ekspres bank Bank and some additional required arguments are specified in the parameter tree. So brand Id is used on a branded environment.
...
Parameters Used for communicating with Ekspres bank Bank :
Parameter Path/Type | Mandatory? | Value | Description |
---|---|---|---|
FINANCIAL.EKSPRESBANK.PARTNER_ID | |||
Number | YES | To be provided by Ekspres Bank | A unique Id supplied by Ekspresbank Ekspres Bank to identify the Partner. |
FINANCIAL.EKSPRESBANK.EVENT_RECORD_PASS_KEY | |||
String | YES | To be provided by Ekspres Bank | Value of eventRecordPassKey input parameter used in FeedbackService.putEventRecord method calls. This is supplied by Ekspres Bank |
FINANCIAL.EKSPRESBANK.CANCEL_SIGNAL_EVENT_TYPE | |||
Number | NO | Default value: 401 | Value of eventType input parameter passed to the FeedbackService.putEventRecord method for canceling an Application. This parameter is created for flexibility that if this value changes in future, then it can be configured via the parameter. Note: Cancel can be initiated via the FeedbackService.putEventRecord call, ONLY if the order has NOT yet been shipped i.e. ship signal is not yet sent. |
FINANCIAL.EKSPRESBANK.SHIP_SIGNAL_EVENT_TYPE | |||
Number | NO | Default value: 282
| Value of eventType input parameter passed to the FeedbackService.putEventRecord method for sending 'Order Shipped' (i.e. Capture) signal to Ekspres Bank This parameter is created for flexibility that if this value changes in future, then it can be configured via the parameter. |
FINANCIAL.EKSPRESBANK.FEEDBACK_SERVICE_ENDPOINT | |||
String | YES | URL to access the Ekspres Bank webservice FeedbackService The URL to access FeedbackService Test service(Note: This is the value to be the configured in this parameter entry on TEST environment): https://preprodservices.ekspresbanktest.com/feedback/FeedbackService.svc The URL to access FeedbackService Production service(Note: This is the value to be the configured in this parameter entry on PRODUCTION environment): https://services.ekspresbank.com/feedback/FeedbackService.svc
| Endpoint URL to connect to the Ekspres Bank FeedbackService. In case the WSDLs need to be accessed, here are the links (do not use these URLs in this parameter tree entry value) For Test FeedbackService WSDL: https://preprodservices.ekspresbanktest.com/feedback/FeedbackService.wsdl For Production FeedbackService WSDL: https://services.ekspresbank.com/feedback/FeedbackService.wsdl |
...