Abort request

An overview of the Abort request message.

Overview

The client app must implement a mechanism to send messages using URL schemes and to receive the result in a custom URI callback.

Abort request

For aborting an ongoing request the client app must provide the following parameters:

Field Description Example
scheme The Viva's custom URLscheme, the host and the version. 'vivapayclient://pay/v1'
merchantKey The merchant's key. For successful validation, should not be empty.
Deprecated: you may pass any value.
'SG23323424EXS3'
appId The client app id. 'com.example.myapp'
action Abort request. abort
callback Your custom URI callback that will handle the result. 'interapp-callback'

The above information elements must create a URI call, i.e.

let abortAction = "&action=abort"

func createAbortRequest() {
    let abortActionURL = schemeURL + callback + merchantKey + clientAppID + abortAction
    return abortActionURL
}

func performInterAppRequest(request: String){
    guard let url = URL(string: request) else { return } // url with constructed parameters
    UIApplication.shared.open(url) { (result) in
        if result {
            // The URL was delivered successfully!
        }
    }
}

//USE LIKE THIS
let abortActionURL = createAbortRequest()
performInterAppRequest(request: abortActionURL)

Example:

vivapayclient://pay/v1?callback=interapp-callback&merchantKey=SG23323424EXS3&appId=com.vivawallet.InterAppDemo&action=abort

Abort response

After executing an abort request the VW POS app may or may not respond depending on its state. E.g. if the VW POS app is in the middle of a sale you won’t receive an abort response but you will receive the sale response.

The result is received as a URI in the callback activity.

The table below summarizes the contents of a response.

Field Description Example
callback The URI callback that will handle the result. 'interapp-callback://result'
action The action. 'abort'
status The status of the abort. 'success'
message A string containing information about the abort status. 'nothing to abort / aborted'

An Abort response result for an approved transaction looks as follows:

Examples

Successful abort:

Nothing to abort:

Abort request that cannot be processed because of a sale transaction:

Get Support

If you would like to integrate with Viva Wallet, or if you have any queries about our products and solutions, please see our Get Support page to see how we can help!