1.19. Mobile Device Sale
Introduction
Mobile device sale transaction can be performed with cardholder data or with card reference, previously made withΒ card verificationΒ process or in previous transfer/sale transactions.
See terms definitions inΒ Glossary.
Sale Flow
(1,2,3) To perform authentication of Consumer in Connecting Partyβs app, Connecting Party can use any method which fits best to his needs. As a result, Connecting Partyβs server generatesΒ {accessToken}Β and provides it to Connecting Partyβs app. This parameter will be used to start and continue session.
(4,5) To initiate sale, Connecting Partyβs app sendsΒ {accessToken}Β with transaction amount and other device parameters to Connecting Partyβs server, which are used to start a session with unique randomΒ {nonce}Β and encryptedΒ {signature}. To implement initiate sale request seeΒ Initiate Sale.
(6,7) On this stage Connecting Partyβs app sends cardholder, device, session data and other parameters straight to Billblend to perform sale transaction. To implement perform sale request seeΒ Perform sale.
(8,9) Check sale is used for security purposes and allows Billblend to compare the data sent by Connecting Partyβs app with the data stored on Connecting Partyβs server. To implement check sale request seeΒ Check Sale.
(11,12,21,22) Sale status request is made by Connecting Partyβs app to Billblend to get the status of sale transaction.To implement sale status request seeΒ Sale status.
(19,20) Billblend sends Sale card mapping notification request to Connecting Partyβs server/proxy with created on its side card reference –Β {serverCardId}. To implement sale card mapping notification request seeΒ Sale card mapping notification.
(23,24) If Connecting Party callback URL is specified on endpoint level, Payment Gateway sends message to this callback URL whenever transaction reaches final status, no matter if the result isΒ approved,Β declinedΒ or has otherΒ final status. See more inΒ Callbacks.
Repeat Sale Flow
After successful Card mapping procedure, new sale transactions with the same cardholder data can be done easier for Consumer.
Connecting Partyβs app makes new sale requests usingΒ {clientCardId}Β instead of cardholder data. Billblend sends thisΒ {clientCardId}Β to Connecting Partyβs server in βCheck sale requestβ and gets mapped to itΒ {serverCardId}Β in βCheck sale responseβ from Connecting Partyβs server. ThisΒ {serverCardId}Β is used to continue the processing of sale transaction.
Transaction flow remains the same:Β Initiate SaleΒ ->Β Perform saleΒ ->Β Check Sale.
If there is no need to change Consumerβs data (such as address, phone, etc.), βPerform sale requestβ for Repeat sale may be sent without any optional parameters. If Consumerβs data has to be changed, new source card reference must be created.
IfΒ {clientCardId}Β is used in βPerform sale requestβ,Β {serverCardId}Β must be included in βCheck sale responseβ and signature.
IfΒ {clientCardId}Β was mapped toΒ {serverCardId}Β in transaction with includedΒ {consumer.email}Β value, new βPerform sale requestβ and βCheck sale responseβ with thisΒ {clientCardId}Β must also contain the sameΒ {consumer.email}Β value.
For Repeat Sale Flow use the following parameters in Perform Sale request:
- {sourceOfFunds.reference.clientCardId}
- {sourceOfFunds.reference.securityCode}
Instead of:
- {sourceOfFunds.card.expiry.month}
- {sourceOfFunds.card.expiry.year}
- {sourceOfFunds.card.holder}
- {sourceOfFunds.card.holder.firstName}
- {sourceOfFunds.card.holder.lastName}
- {sourceOfFunds.card.number}
- {sourceOfFunds.card.securityCode}
(1,2) Billblend sends Sale card mapping notification request to Connecting Partyβs server/proxy with created on its side card reference –Β {serverCardId}. To implement sale card mapping notification request seeΒ Sale card mapping notification.
(5,6) To initiate sale, Connecting Partyβs app sendsΒ {accessToken}Β with transaction amount and other device parameters to Connecting Partyβs server, which are used to start a session with unique randomΒ {nonce}Β and encryptedΒ {signature}. To implement initiate sale request seeΒ Initiate Sale.
(7,8) On this stage Connecting Partyβs app sends cardholder, device, session data and other parameters straight to Billblend to perform sale transaction. To implement perform sale request seeΒ Perform sale.
(9,10) Check sale is used for security purposes and allows Billblend to compare the data sent by Connecting Partyβs app with the data stored on Connecting Partyβs server. To implement check sale request seeΒ Check Sale.