1.20. Mobile Device Transfer
Introduction
Mobile device transfer can be performed with cardholder data of sender and receiver of funds or with card reference, previously made withΒ card verificationΒ process or in previous transfer/sale transactions.
See terms definitions inΒ Glossary.
Transfer Flow
(1,2,3) To perform authentication of Consumer in Connecting Partyβs app, Connecting Party can use any method which fits best to their 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 funds transfer, 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 initiate transfer request seeΒ Initiate Transfer.
(6,7) On this stage Connecting Partyβs app sends cardholder, device, session data and other parameters straight to Billblend to perform funds transfer from card to card. To implement perform transfer request seeΒ Perform Transfer.
(8,9) Check transfer 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 transfer request seeΒ Check Transfer.
(11,12,21,22) Funds transfer status request is made by Connecting Partyβs app to Billblend to get the status of transfer transaction. To implement transfer status request seeΒ Status Transfer.
(19,20) Billblend sends Transfer card mapping notification request to Connecting Partyβs server/proxy with created on its side card reference –Β {serverCardId}. To implement transfer card mapping notification request seeΒ Transfer card mapping notification.
(23,24) Connecting Party specified a callback URL, Payment Gateway sends message to the callback URL whenever transaction reaches final status, no matter if the result isΒ approved,Β declinedΒ or otherΒ final status. See moreΒ Callbacks.
Repeat Transfer Flow
After successful Card mapping procedure, new transfers with the same cardholder data can be done easier for Consumer.
Connecting Partyβs app makes new transfer requests usingΒ {clientCardId}Β instead of source and/or destination cardholder data. Billblend sends theseΒ {clientCardId}Β to Connecting Partyβs server in βCheck transfer requestβ and gets mapped to itΒ {serverCardId}Β in βCheck transfer responseβ from Connecting Partyβs server. TheseΒ {serverCardId}Β are used to continue the processing of transfer transaction.
Transaction flow remains the same:Β Initiate TransferΒ ->Β Perform TransferΒ ->Β Check Transfer.
If there is no need to change Consumerβs data (such as address, phone, etc.), βPerform transfer requestβ for Repeat transfer may be sent without any optional parameters and with card references for sender and receiver instead of cardholder data. If Consumerβs data has to be changed, new source card reference must be created.
If source and/or destinationΒ {clientCardId}Β are used in βPerform transfer requestβ, source and/or destinationΒ {serverCardId}Β must be included in βTransfer check responseβ and signature.
If sourceΒ {clientCardId}Β was mapped toΒ {serverCardId}Β in transaction with includedΒ {consumer.email}Β value, new βPerform transfer requestβ and βCheck signature responseβ with thisΒ {clientCardId}Β must also contain the sameΒ {consumer.email}Β value.
For Repeat Transfer Flow use the following source of funds parameters in Perform Transfer 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}
For destination of funds useΒ {destinationOfFunds.reference.clientCardId}Β instead ofΒ {destinationOfFunds.card.number}.
(1,2) Billblend sends Transfer card mapping notification request to Connecting Partyβs server/proxy with created on its side card reference –Β {serverCardId}. To implement transfer card mapping notification request seeΒ Transfer card mapping notification.
(5,6) To initiate funds transfer, 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 initiate transfer transfer request seeΒ Initiate Transfer.
(7,8) On this stage Connecting Partyβs app sends cardholder, device, session data and other parameters straight to Billblend to perform funds transfer from card to card. To implement perform transfer request seeΒ Perform Transfer.
(9,10) Check transfer 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 transfer request seeΒ Check Transfer.
Consumer Defined Transfer Rates Flow
Consumer defined transfer rates is an optional feature which allows the sender to choose the most suitable commission amount for his transfer transaction between several available payment provider gates.
The possibility of such feature depends on the integration. Please ask support manager for details.
When such feature is enabled, the Transfer Flow extends:
- If Check transfer has been successful, Billblend pauses the processing, includes the list of possible commissions to next Transfer status response and awaits for confirmation from the Consumer.
- Consumer selects the most suitable commission from the list in the Connecting Partyβs app.
- Connecting Partyβs app sends the selected gate (using itsΒ assignedIdΒ aliased name) in Complete transfer request to Billblend.
- Billblend continues to process the transaction on the selected gate.
(2,3) Funds transfer status request is made by Connecting Partyβs app to Billblend to get the status of transfer transaction. To implement transfer status request seeΒ Status Transfer. Transfer status response includes theΒ stateΒ parameter withΒ TRANSFER_FEE_REQUESTΒ value and theΒ transferFeeListΒ object with a list of commissions for possible processing gates. Each processing gate is represented by itβs own aliased name inΒ assignedIdΒ parameter.Β TRANSFER_FEE_REQUESTΒ value inΒ stateΒ parameter exists only in βConsumer defined transfer ratesβ flow. The mentioned parameters may not be presented in first Transfer status response, so Connecting Partyβs app should continue polling the transaction status. When the transaction reachesΒ TRANSFER_FEE_REQUESTΒ state, the processing will remain paused until Complete transfer request is sent.
(6,7) To implement Complete transfer request seeΒ Complete transfer.