Skip to content

Commit

Permalink
feat(payment): PAYPAL-4937 updated interface
Browse files Browse the repository at this point in the history
  • Loading branch information
bc-nick committed Dec 19, 2024
1 parent 74aa351 commit 508e965
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 13 deletions.
6 changes: 3 additions & 3 deletions packages/core/src/common/http-request/responses.mock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,12 @@ export function getPaymentResponse<T>(
};
}

export function getHeadlessPaymentResponse<T>(
site: HeadlessPaymentMethod<T>,
export function getHeadlessPaymentResponse(
site: HeadlessPaymentMethod,
headers = {},
status = 200,
statusText = 'OK',
): Response<HeadlessPaymentMethodResponse<T>> {
): Response<HeadlessPaymentMethodResponse> {
return {
body: {
data: {
Expand Down
4 changes: 2 additions & 2 deletions packages/core/src/payment/headless-payment-method-response.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import HeadlessPaymentMethod from './headless-payment-method';

export interface HeadlessPaymentMethodResponse<T = any> {
export interface HeadlessPaymentMethodResponse {
data: {
site: HeadlessPaymentMethod<T>;
site: HeadlessPaymentMethod;
};
}
5 changes: 3 additions & 2 deletions packages/core/src/payment/headless-payment-method.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
export default interface HeadlessPaymentMethod<T = any> {
export default interface HeadlessPaymentMethod {
paymentWalletWithInitializationData: {
clientToken?: string;
initializationData?: T;
// INFO:: initializationData given in base64 format
initializationData?: string;
};
}
14 changes: 8 additions & 6 deletions packages/core/src/payment/payment-method-request-sender.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ export default class PaymentMethodRequestSender {
};

return this._requestSender
.post<HeadlessPaymentMethodResponse<string>>(url, requestOptions)
.post<HeadlessPaymentMethodResponse>(url, requestOptions)
.then((response) => this.transformToPaymentMethodResponse(response, methodId));
}

Expand All @@ -93,18 +93,20 @@ export default class PaymentMethodRequestSender {
const {
body: {
data: {
site: { paymentWalletWithInitializationData },
site: {
paymentWalletWithInitializationData: { clientToken, initializationData },
},
},
},
} = response;

return {
...response,
body: {
initializationData: JSON.parse(
atob(paymentWalletWithInitializationData.initializationData),
),
clientToken: paymentWalletWithInitializationData.clientToken,
initializationData: initializationData
? JSON.parse(atob(initializationData))
: null,
clientToken,
id: methodId,
config: {},
method: '',
Expand Down

0 comments on commit 508e965

Please sign in to comment.