Sale card mapping notification
Introduction
Sale card mapping notification is initiated throughΒ HTTPS POSTΒ request by usingΒ URLsΒ and theΒ parameters.
Card mapping notification is used to allow Consumer credentials (phone, email, billing address, twitter name, etc) for mapping to card data. Card mappings can be used later in transfer or sale transactions instead of card numbers and other cardholder information. Billblend sends Sale card mapping notification request to Connecting Partyβs server/proxy with created on its side card reference –Β {serverCardId}.
Connecting Partyβs server maps thisΒ {serverCardId}Β toΒ {clientCardId}, created on its side. ThisΒ {clientCardId}Β can then be mapped in Connecting Partyβs app or on Connecting Partyβs server to any Consumerβs data from the initial Perform sale request. This allows Connecting Partyβs app to process sale or transfer transactions by Consumerβs email, phone number, etc.
{uniqueReferenceCardId}Β remains the same if Consumer makes another transaction with the same card number but different expiry date, for example. It can be used by Connecting Party for loyalty programs or fraud control.
Connecting Partyβs app makes new sale requests usingΒ {clientCardId}Β instead of source card 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, which is used to continue the processing of this transaction.
{serverCardId}Β of source or verified card can be used for new sale transactions and both as source or destination for new transfer transactions.
API URLs
| Connecting Party Server |
|---|
| https://proxy.connectingpartyserver.com/sale/notification |
Request Parameters
| Parameter Name | Description | Value |
|---|---|---|
| consumer | Β | Necessity: RequiredType:Β Object |
| consumer.device | Β | Necessity: RequiredType:Β Object |
| consumer.device.serialNumber | Consumerβs device serial number. | Necessity: RequiredType: StringLength: 1-50 |
| session | Β | Necessity: RequiredType:Β Object |
| session.accessToken | Consumerβs access token key. | Necessity: RequiredType: StringLength: 32-128 |
| session.token | The session token of sale transaction. | Necessity: RequiredType: StringLength: 16-36 |
| sourceCard | Β | Necessity: OptionalType:Β Object |
| sourceCard.bin | The Source card BIN. | Necessity: OptionalType: Integer |
| sourceCard.reference | Β | Necessity: OptionalType:Β Object |
| sourceCard.reference.serverCardId | The Source card reference identifier (on server side). | Necessity: OptionalType: StringLength: 1-64 |
| sourceCard.reference.uniqueReferenceCardId | The Source card unique identifier (on server side). | Necessity: OptionalType: Integer |
Success Response Parameters
| Parameter Name | Description | Value |
|---|---|---|
| invoiceId | Sale transaction identifier. | Type: String |
| session | Β | Type:Β Object |
| session.checkSignature | Checksum generated by hmac-sha1 (seeΒ Signature computation) from the concatenation of session.nonce, endpointId and invoiceId. | Type: String |
| session.nonce | Unique random string generated by Connecting Partyβs server. | Type: String |
| session.token | The session token of sale transaction. | Type: String |
Fail Response Parameters
| Parameter Name | Description | Value |
|---|---|---|
| error | Β | Type:Β Object |
| error.cause | Cause of the error. Possible values:Β FILTERED,Β INVALID_REQUEST,Β SERVER_FAILED,Β SERVER_UNAVAILABLE. |
Type: Enum |
| error.code | The unique error code. | Type: String |
| error.message | Description of the error. | Type: String |
| invoiceId | Sale transaction identifier. | Type: String |
Request Example
{
"consumer": {
"device": {
"serialNumber": "string"
}
},
"session": {
"accessToken": "string",
"token":"string"
},
"sourceCard": {
"bin": "integer",
"reference": {
"serverCardId": "string",
"uniqueReferenceCardId": "integer"
}
}
}
Success Response Example
{
"invoiceId": "string",
"session": {
"checkSignature": "string",
"nonce": "string",
"token": "string"
}
}
Fail Response Example
{
"error": {
"cause": "enum",
"code": "string",
"message": "string"
},
"invoiceId": "string"
}