diff --git a/src/payment/v1/payment-mappers/payment-mapper.js b/src/payment/v1/payment-mappers/payment-mapper.js index cc5f72a6..973225f1 100644 --- a/src/payment/v1/payment-mappers/payment-mapper.js +++ b/src/payment/v1/payment-mappers/payment-mapper.js @@ -44,6 +44,7 @@ export default class PaymentMapper { gateway: this.paymentMethodIdMapper.mapToId(paymentMethod), notify_url: order.callbackUrl, return_url: paymentMethod.returnUrl || (order.payment ? order.payment.returnUrl : null), + vault_payment_instrument: payment.shouldSaveInstrument || null, }; const method = payment.method; diff --git a/src/typedefs.js b/src/typedefs.js index f4c35bd3..a8562cbe 100644 --- a/src/typedefs.js +++ b/src/typedefs.js @@ -89,6 +89,7 @@ * @property {number} ccExpiry.year * @property {string} ccName * @property {string} ccNumber + * @property {?boolean} shouldSaveInstrument */ /** diff --git a/test/mocks/payment-request-data.js b/test/mocks/payment-request-data.js index 17f1baf5..21c5dd81 100644 --- a/test/mocks/payment-request-data.js +++ b/test/mocks/payment-request-data.js @@ -103,6 +103,7 @@ const paymentRequestDataMock = { ccName: 'Foo Bar', ccNumber: '4007000000027', ccCustomerCode: 'XYZ', + shouldSaveInstrument: true, }, paymentMethod: { id: 'paypalprous', diff --git a/test/payment/v1/payment-mappers/payment-mapper.spec.js b/test/payment/v1/payment-mappers/payment-mapper.spec.js index acabe8d0..3b76b5e6 100644 --- a/test/payment/v1/payment-mappers/payment-mapper.spec.js +++ b/test/payment/v1/payment-mappers/payment-mapper.spec.js @@ -43,6 +43,7 @@ describe('PaymentMapper', () => { gateway: data.paymentMethod.id, notify_url: data.order.callbackUrl, return_url: data.paymentMethod.returnUrl, + vault_payment_instrument: data.payment.shouldSaveInstrument, }); }); @@ -66,6 +67,7 @@ describe('PaymentMapper', () => { gateway: data.paymentMethod.id, notify_url: data.order.callbackUrl, return_url: data.paymentMethod.returnUrl, + vault_payment_instrument: data.payment.shouldSaveInstrument, }); });