Skip to content

Commit 5280d73

Browse files
add type for addresses
1 parent abea30a commit 5280d73

File tree

2 files changed

+29
-15
lines changed

2 files changed

+29
-15
lines changed

src/payments/dintero/handlers.ts

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,6 @@
11
import { fetchDinteroAuthToken } from './fetchAuthToken';
22
import { DinteroCreateSessionArguments, DinteroPaymentPayload, DinteroPaymentVerificationArguments } from './types';
33

4-
const buildAddress = (customer: any) => {
5-
return {
6-
first_name: customer.firstName ?? '',
7-
last_name: customer.lastName ?? '',
8-
address_line: customer?.streetAddress ?? '',
9-
postal_code: customer?.zipCode ?? '',
10-
postal_place: customer?.city ?? '',
11-
country: customer?.country ?? '',
12-
email: customer?.email ?? '',
13-
};
14-
};
15-
164
export async function handleDinteroPaymentSessionPayload(
175
payload: DinteroPaymentPayload,
186
args: DinteroCreateSessionArguments,
@@ -48,8 +36,8 @@ export async function handleDinteroPaymentSessionPayload(
4836
amount: discount.amount * 100,
4937
})) ?? [],
5038
})),
51-
shipping_address: buildAddress(args.customer),
52-
billing_address: buildAddress(args.customer),
39+
shipping_address: args.customer?.shippingAddress,
40+
billing_address: args.customer?.billingAddress,
5341
},
5442
url: {
5543
return_url: args.returnUrl,

src/payments/dintero/types.ts

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,39 @@ export const dinteroPaymentPayload = z
99

1010
export type DinteroPaymentPayload = z.infer<typeof dinteroPaymentPayload>;
1111

12+
export type DinteroAddress = {
13+
first_name?: string;
14+
last_name?: string;
15+
address_line?: string;
16+
address_line_2?: string;
17+
co_address?: string;
18+
business_name?: string;
19+
postal_code?: string;
20+
postal_place?: string;
21+
country?: string;
22+
phone_number?: string;
23+
email?: string;
24+
latitude?: number;
25+
longitude?: number;
26+
comment?: string;
27+
organization_number?: string;
28+
organization_type?: string;
29+
customer_reference?: string;
30+
cost_center?: string;
31+
};
32+
1233
export type DinteroCreateSessionArguments = {
1334
credentials: DinteroCredentials;
1435
fetchCart: () => Promise<Cart>;
1536
returnUrl: string;
1637
callbackUrl: string;
1738
otherPaymentArguments?: any;
18-
customer?: any;
39+
customer?: {
40+
email?: string;
41+
phone?: string;
42+
shippingAddress?: DinteroAddress;
43+
billingAddress?: DinteroAddress;
44+
};
1945
};
2046

2147
export type DinteroCredentials = {

0 commit comments

Comments
 (0)