Skip to content

Commit d09f12b

Browse files
Merge pull request #18 from Kount/develo-k360-sfra
Add bin based on credit form and token
2 parents bc40fcd + db8e3b8 commit d09f12b

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

cartridges/int_kount_360_sfra/cartridge/kount360mappings/kount360ReqMapping.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,8 @@
44
"deviceSessionId": "SESS",
55
"userIp": "IPAD",
66
"account.id": "UNIQ",
7-
"account.creationDate": "EPOC",
87
"account.type": "SITE",
9-
"items.[*].price": "PROD_PRICE",
108
"items.[*].description": "PROD_DESC",
11-
"items.[*].quantity": "PROD_QUANT",
129
"items.[*].category": "PROD_TYPE",
1310
"items.[*].sku": "PROD_ITEM",
1411
"fulfillment.[*].shipping.method": "SHTP",

cartridges/int_kount_360_sfra/cartridge/scripts/helpers/kount360OrderModel.js

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ function getKountItems(order) {
3838
if (pli) {
3939
items.push({
4040
upc: pli.product && pli.product.UPC ? pli.product.UPC : '',
41-
price: pli.adjustedPrice ? pli.adjustedPrice.multiply(100).value : null,
41+
price: pli.getPrice() ? pli.getPrice().divide(pli.quantityValue).multiply(100).value : null,
4242
name: pli.productName || '',
4343
quantity: pli.quantityValue || 1,
4444
description: pli.lineItemText || '',
@@ -141,6 +141,27 @@ function getFulfillment(order) {
141141
return fulfillments;
142142
}
143143

144+
/**
145+
* Get Kount 360 Order card bin
146+
* @param {dw.order.Order} order - Requested order
147+
* @param {dw.order.PaymentInstrument} pi - Requested payment instrument
148+
* @returns {String} - card bin
149+
*/
150+
function getCardBin(order, pi) {
151+
if (!pi || pi.paymentMethod !== 'CREDIT_CARD') {
152+
return '';
153+
}
154+
155+
if (order && order.custom.kount_KHash) {
156+
return order.custom.kount_KHash.substring(0, 6);
157+
}
158+
159+
var sessionCardNumber = session && session.forms && session.forms.billing && session.forms.billing.creditCardFields && session.forms.billing.creditCardFields.cardNumber &&
160+
session.forms.billing.creditCardFields.cardNumber.value ? session.forms.billing.creditCardFields.cardNumber.value : null;
161+
162+
return sessionCardNumber ? sessionCardNumber.substring(0, 6) : '';
163+
}
164+
144165
/**
145166
* Get Kount 360 Order transactions
146167
* @param {dw.order.Order} order - Requested order
@@ -191,6 +212,9 @@ function getKountTransactions(order) {
191212
authResult: order.status.value !== Order.ORDER_STATUS_FAILED ? 'Approved' : 'Declined',
192213
dateTime: order.creationDate ? order.creationDate.toISOString() : null,
193214
processorTransactionId: transaction.transactionID || ''
215+
},
216+
payment: {
217+
bin: getCardBin(order, pi)
194218
}
195219
});
196220
}

0 commit comments

Comments
 (0)