1 | |
2 | type Paypal = { |
3 | clientId: string; |
4 | clientSecret: string; |
5 | }; |
6 |
|
7 | async function getToken(auth: Paypal): Promise<string> { |
8 | const url = new URL(`https://api-m.paypal.com/v1/oauth2/token`); |
9 | const response = await fetch(url, { |
10 | method: "POST", |
11 | headers: { |
12 | Authorization: `Basic ${btoa(`${auth.clientId}:${auth.clientSecret}`)}`, |
13 | }, |
14 | body: new URLSearchParams({ |
15 | grant_type: "client_credentials", |
16 | }), |
17 | }); |
18 | if (!response.ok) { |
19 | const text = await response.text(); |
20 | throw new Error(`Could not get token: ${response.status} ${text}`); |
21 | } |
22 | const json = await response.json(); |
23 | return json.access_token; |
24 | } |
25 | |
26 | * Create product |
27 | * Creates a product. |
28 | */ |
29 | export async function main( |
30 | auth: Paypal, |
31 | Prefer: string, |
32 | PayPal_Request_Id: string, |
33 | body: { |
34 | id?: string; |
35 | name: string; |
36 | description?: string; |
37 | type: "PHYSICAL" | "DIGITAL" | "SERVICE"; |
38 | category?: |
39 | | "AC_REFRIGERATION_REPAIR" |
40 | | "ACADEMIC_SOFTWARE" |
41 | | "ACCESSORIES" |
42 | | "ACCOUNTING" |
43 | | "ADULT" |
44 | | "ADVERTISING" |
45 | | "AFFILIATED_AUTO_RENTAL" |
46 | | "AGENCIES" |
47 | | "AGGREGATORS" |
48 | | "AGRICULTURAL_COOPERATIVE_FOR_MAIL_ORDER" |
49 | | "AIR_CARRIERS_AIRLINES" |
50 | | "AIRLINES" |
51 | | "AIRPORTS_FLYING_FIELDS" |
52 | | "ALCOHOLIC_BEVERAGES" |
53 | | "AMUSEMENT_PARKS_CARNIVALS" |
54 | | "ANIMATION" |
55 | | "ANTIQUES" |
56 | | "APPLIANCES" |
57 | | "AQUARIAMS_SEAQUARIUMS_DOLPHINARIUMS" |
58 | | "ARCHITECTURAL_ENGINEERING_AND_SURVEYING_SERVICES" |
59 | | "ART_AND_CRAFT_SUPPLIES" |
60 | | "ART_DEALERS_AND_GALLERIES" |
61 | | "ARTIFACTS_GRAVE_RELATED_AND_NATIVE_AMERICAN_CRAFTS" |
62 | | "ARTS_AND_CRAFTS" |
63 | | "ARTS_CRAFTS_AND_COLLECTIBLES" |
64 | | "AUDIO_BOOKS" |
65 | | "AUTO_ASSOCIATIONS_CLUBS" |
66 | | "AUTO_DEALER_USED_ONLY" |
67 | | "AUTO_RENTALS" |
68 | | "AUTO_SERVICE" |
69 | | "AUTOMATED_FUEL_DISPENSERS" |
70 | | "AUTOMOBILE_ASSOCIATIONS" |
71 | | "AUTOMOTIVE" |
72 | | "AUTOMOTIVE_REPAIR_SHOPS_NON_DEALER" |
73 | | "AUTOMOTIVE_TOP_AND_BODY_SHOPS" |
74 | | "AVIATION" |
75 | | "BABIES_CLOTHING_AND_SUPPLIES" |
76 | | "BABY" |
77 | | "BANDS_ORCHESTRAS_ENTERTAINERS" |
78 | | "BARBIES" |
79 | | "BATH_AND_BODY" |
80 | | "BATTERIES" |
81 | | "BEAN_BABIES" |
82 | | "BEAUTY" |
83 | | "BEAUTY_AND_FRAGRANCES" |
84 | | "BED_AND_BATH" |
85 | | "BICYCLE_SHOPS_SALES_AND_SERVICE" |
86 | | "BICYCLES_AND_ACCESSORIES" |
87 | | "BILLIARD_POOL_ESTABLISHMENTS" |
88 | | "BOAT_DEALERS" |
89 | | "BOAT_RENTALS_AND_LEASING" |
90 | | "BOATING_SAILING_AND_ACCESSORIES" |
91 | | "BOOKS" |
92 | | "BOOKS_AND_MAGAZINES" |
93 | | "BOOKS_MANUSCRIPTS" |
94 | | "BOOKS_PERIODICALS_AND_NEWSPAPERS" |
95 | | "BOWLING_ALLEYS" |
96 | | "BULLETIN_BOARD" |
97 | | "BUS_LINE" |
98 | | "BUS_LINES_CHARTERS_TOUR_BUSES" |
99 | | "BUSINESS" |
100 | | "BUSINESS_AND_SECRETARIAL_SCHOOLS" |
101 | | "BUYING_AND_SHOPPING_SERVICES_AND_CLUBS" |
102 | | "CABLE_SATELLITE_AND_OTHER_PAY_TELEVISION_AND_RADIO_SERVICES" |
103 | | "CABLE_SATELLITE_AND_OTHER_PAY_TV_AND_RADIO" |
104 | | "CAMERA_AND_PHOTOGRAPHIC_SUPPLIES" |
105 | | "CAMERAS" |
106 | | "CAMERAS_AND_PHOTOGRAPHY" |
107 | | "CAMPER_RECREATIONAL_AND_UTILITY_TRAILER_DEALERS" |
108 | | "CAMPING_AND_OUTDOORS" |
109 | | "CAMPING_AND_SURVIVAL" |
110 | | "CAR_AND_TRUCK_DEALERS" |
111 | | "CAR_AND_TRUCK_DEALERS_USED_ONLY" |
112 | | "CAR_AUDIO_AND_ELECTRONICS" |
113 | | "CAR_RENTAL_AGENCY" |
114 | | "CATALOG_MERCHANT" |
115 | | "CATALOG_RETAIL_MERCHANT" |
116 | | "CATERING_SERVICES" |
117 | | "CHARITY" |
118 | | "CHECK_CASHIER" |
119 | | "CHILD_CARE_SERVICES" |
120 | | "CHILDREN_BOOKS" |
121 | | "CHIROPODISTS_PODIATRISTS" |
122 | | "CHIROPRACTORS" |
123 | | "CIGAR_STORES_AND_STANDS" |
124 | | "CIVIC_SOCIAL_FRATERNAL_ASSOCIATIONS" |
125 | | "CIVIL_SOCIAL_FRAT_ASSOCIATIONS" |
126 | | "CLOTHING" |
127 | | "CLOTHING_ACCESSORIES_AND_SHOES" |
128 | | "CLOTHING_RENTAL" |
129 | | "COFFEE_AND_TEA" |
130 | | "COIN_OPERATED_BANKS_AND_CASINOS" |
131 | | "COLLECTIBLES" |
132 | | "COLLECTION_AGENCY" |
133 | | "COLLEGES_AND_UNIVERSITIES" |
134 | | "COMMERCIAL_EQUIPMENT" |
135 | | "COMMERCIAL_FOOTWEAR" |
136 | | "COMMERCIAL_PHOTOGRAPHY" |
137 | | "COMMERCIAL_PHOTOGRAPHY_ART_AND_GRAPHICS" |
138 | | "COMMERCIAL_SPORTS_PROFESSIONA" |
139 | | "COMMODITIES_AND_FUTURES_EXCHANGE" |
140 | | "COMPUTER_AND_DATA_PROCESSING_SERVICES" |
141 | | "COMPUTER_HARDWARE_AND_SOFTWARE" |
142 | | "COMPUTER_MAINTENANCE_REPAIR_AND_SERVICES_NOT_ELSEWHERE_CLAS" |
143 | | "CONSTRUCTION" |
144 | | "CONSTRUCTION_MATERIALS_NOT_ELSEWHERE_CLASSIFIED" |
145 | | "CONSULTING_SERVICES" |
146 | | "CONSUMER_CREDIT_REPORTING_AGENCIES" |
147 | | "CONVALESCENT_HOMES" |
148 | | "COSMETIC_STORES" |
149 | | "COUNSELING_SERVICES_DEBT_MARRIAGE_PERSONAL" |
150 | | "COUNTERFEIT_CURRENCY_AND_STAMPS" |
151 | | "COUNTERFEIT_ITEMS" |
152 | | "COUNTRY_CLUBS" |
153 | | "COURIER_SERVICES" |
154 | | "COURIER_SERVICES_AIR_AND_GROUND_AND_FREIGHT_FORWARDERS" |
155 | | "COURT_COSTS_ALIMNY_CHILD_SUPT" |
156 | | "COURT_COSTS_INCLUDING_ALIMONY_AND_CHILD_SUPPORT_COURTS_OF_LAW" |
157 | | "CREDIT_CARDS" |
158 | | "CREDIT_UNION" |
159 | | "CULTURE_AND_RELIGION" |
160 | | "DAIRY_PRODUCTS_STORES" |
161 | | "DANCE_HALLS_STUDIOS_AND_SCHOOLS" |
162 | | "DECORATIVE" |
163 | | "DENTAL" |
164 | | "DENTISTS_AND_ORTHODONTISTS" |
165 | | "DEPARTMENT_STORES" |
166 | | "DESKTOP_PCS" |
167 | | "DEVICES" |
168 | | "DIECAST_TOYS_VEHICLES" |
169 | | "DIGITAL_GAMES" |
170 | | "DIGITAL_MEDIA_BOOKS_MOVIES_MUSIC" |
171 | | "DIRECT_MARKETING" |
172 | | "DIRECT_MARKETING_CATALOG_MERCHANT" |
173 | | "DIRECT_MARKETING_INBOUND_TELE" |
174 | | "DIRECT_MARKETING_OUTBOUND_TELE" |
175 | | "DIRECT_MARKETING_SUBSCRIPTION" |
176 | | "DISCOUNT_STORES" |
177 | | "DOOR_TO_DOOR_SALES" |
178 | | "DRAPERY_WINDOW_COVERING_AND_UPHOLSTERY" |
179 | | "DRINKING_PLACES" |
180 | | "DRUGSTORE" |
181 | | "DURABLE_GOODS" |
182 | | "ECOMMERCE_DEVELOPMENT" |
183 | | "ECOMMERCE_SERVICES" |
184 | | "EDUCATIONAL_AND_TEXTBOOKS" |
185 | | "ELECTRIC_RAZOR_STORES" |
186 | | "ELECTRICAL_AND_SMALL_APPLIANCE_REPAIR" |
187 | | "ELECTRICAL_CONTRACTORS" |
188 | | "ELECTRICAL_PARTS_AND_EQUIPMENT" |
189 | | "ELECTRONIC_CASH" |
190 | | "ELEMENTARY_AND_SECONDARY_SCHOOLS" |
191 | | "EMPLOYMENT" |
192 | | "ENTERTAINERS" |
193 | | "ENTERTAINMENT_AND_MEDIA" |
194 | | "EQUIP_TOOL_FURNITURE_AND_APPLIANCE_RENTAL_AND_LEASING" |
195 | | "ESCROW" |
196 | | "EVENT_AND_WEDDING_PLANNING" |
197 | | "EXERCISE_AND_FITNESS" |
198 | | "EXERCISE_EQUIPMENT" |
199 | | "EXTERMINATING_AND_DISINFECTING_SERVICES" |
200 | | "FABRICS_AND_SEWING" |
201 | | "FAMILY_CLOTHING_STORES" |
202 | | "FASHION_JEWELRY" |
203 | | "FAST_FOOD_RESTAURANTS" |
204 | | "FICTION_AND_NONFICTION" |
205 | | "FINANCE_COMPANY" |
206 | | "FINANCIAL_AND_INVESTMENT_ADVICE" |
207 | | "FINANCIAL_INSTITUTIONS_MERCHANDISE_AND_SERVICES" |
208 | | "FIREARM_ACCESSORIES" |
209 | | "FIREARMS_WEAPONS_AND_KNIVES" |
210 | | "FIREPLACE_AND_FIREPLACE_SCREENS" |
211 | | "FIREWORKS" |
212 | | "FISHING" |
213 | | "FLORISTS" |
214 | | "FLOWERS" |
215 | | "FOOD_DRINK_AND_NUTRITION" |
216 | | "FOOD_PRODUCTS" |
217 | | "FOOD_RETAIL_AND_SERVICE" |
218 | | "FRAGRANCES_AND_PERFUMES" |
219 | | "FREEZER_AND_LOCKER_MEAT_PROVISIONERS" |
220 | | "FUEL_DEALERS_FUEL_OIL_WOOD_AND_COAL" |
221 | | "FUEL_DEALERS_NON_AUTOMOTIVE" |
222 | | "FUNERAL_SERVICES_AND_CREMATORIES" |
223 | | "FURNISHING_AND_DECORATING" |
224 | | "FURNITURE" |
225 | | "FURRIERS_AND_FUR_SHOPS" |
226 | | "GADGETS_AND_OTHER_ELECTRONICS" |
227 | | "GAMBLING" |
228 | | "GAME_SOFTWARE" |
229 | | "GAMES" |
230 | | "GARDEN_SUPPLIES" |
231 | | "GENERAL" |
232 | | "GENERAL_CONTRACTORS" |
233 | | "GENERAL_GOVERNMENT" |
234 | | "GENERAL_SOFTWARE" |
235 | | "GENERAL_TELECOM" |
236 | | "GIFTS_AND_FLOWERS" |
237 | | "GLASS_PAINT_AND_WALLPAPER_STORES" |
238 | | "GLASSWARE_CRYSTAL_STORES" |
239 | | "GOVERNMENT" |
240 | | "GOVERNMENT_IDS_AND_LICENSES" |
241 | | "GOVERNMENT_LICENSED_ON_LINE_CASINOS_ON_LINE_GAMBLING" |
242 | | "GOVERNMENT_OWNED_LOTTERIES" |
243 | | "GOVERNMENT_SERVICES" |
244 | | "GRAPHIC_AND_COMMERCIAL_DESIGN" |
245 | | "GREETING_CARDS" |
246 | | "GROCERY_STORES_AND_SUPERMARKETS" |
247 | | "HARDWARE_AND_TOOLS" |
248 | | "HARDWARE_EQUIPMENT_AND_SUPPLIES" |
249 | | "HAZARDOUS_RESTRICTED_AND_PERISHABLE_ITEMS" |
250 | | "HEALTH_AND_BEAUTY_SPAS" |
251 | | "HEALTH_AND_NUTRITION" |
252 | | "HEALTH_AND_PERSONAL_CARE" |
253 | | "HEARING_AIDS_SALES_AND_SUPPLIES" |
254 | | "HEATING_PLUMBING_AC" |
255 | | "HIGH_RISK_MERCHANT" |
256 | | "HIRING_SERVICES" |
257 | | "HOBBIES_TOYS_AND_GAMES" |
258 | | "HOME_AND_GARDEN" |
259 | | "HOME_AUDIO" |
260 | | "HOME_DECOR" |
261 | | "HOME_ELECTRONICS" |
262 | | "HOSPITALS" |
263 | | "HOTELS_MOTELS_INNS_RESORTS" |
264 | | "HOUSEWARES" |
265 | | "HUMAN_PARTS_AND_REMAINS" |
266 | | "HUMOROUS_GIFTS_AND_NOVELTIES" |
267 | | "HUNTING" |
268 | | "IDS_LICENSES_AND_PASSPORTS" |
269 | | "ILLEGAL_DRUGS_AND_PARAPHERNALIA" |
270 | | "INDUSTRIAL" |
271 | | "INDUSTRIAL_AND_MANUFACTURING_SUPPLIES" |
272 | | "INSURANCE_AUTO_AND_HOME" |
273 | | "INSURANCE_DIRECT" |
274 | | "INSURANCE_LIFE_AND_ANNUITY" |
275 | | "INSURANCE_SALES_UNDERWRITING" |
276 | | "INSURANCE_UNDERWRITING_PREMIUMS" |
277 | | "INTERNET_AND_NETWORK_SERVICES" |
278 | | "INTRA_COMPANY_PURCHASES" |
279 | | "LABORATORIES_DENTAL_MEDICAL" |
280 | | "LANDSCAPING" |
281 | | "LANDSCAPING_AND_HORTICULTURAL_SERVICES" |
282 | | "LAUNDRY_CLEANING_SERVICES" |
283 | | "LEGAL" |
284 | | "LEGAL_SERVICES_AND_ATTORNEYS" |
285 | | "LOCAL_DELIVERY_SERVICE" |
286 | | "LOCKSMITH" |
287 | | "LODGING_AND_ACCOMMODATIONS" |
288 | | "LOTTERY_AND_CONTESTS" |
289 | | "LUGGAGE_AND_LEATHER_GOODS" |
290 | | "LUMBER_AND_BUILDING_MATERIALS" |
291 | | "MAGAZINES" |
292 | | "MAINTENANCE_AND_REPAIR_SERVICES" |
293 | | "MAKEUP_AND_COSMETICS" |
294 | | "MANUAL_CASH_DISBURSEMENTS" |
295 | | "MASSAGE_PARLORS" |
296 | | "MEDICAL" |
297 | | "MEDICAL_AND_PHARMACEUTICAL" |
298 | | "MEDICAL_CARE" |
299 | | "MEDICAL_EQUIPMENT_AND_SUPPLIES" |
300 | | "MEDICAL_SERVICES" |
301 | | "MEETING_PLANNERS" |
302 | | "MEMBERSHIP_CLUBS_AND_ORGANIZATIONS" |
303 | | "MEMBERSHIP_COUNTRY_CLUBS_GOLF" |
304 | | "MEMORABILIA" |
305 | | "MEN_AND_BOY_CLOTHING_AND_ACCESSORY_STORES" |
306 | | "MEN_CLOTHING" |
307 | | "MERCHANDISE" |
308 | | "METAPHYSICAL" |
309 | | "MILITARIA" |
310 | | "MILITARY_AND_CIVIL_SERVICE_UNIFORMS" |
311 | | "MISC._AUTOMOTIVE_AIRCRAFT_AND_FARM_EQUIPMENT_DEALERS" |
312 | | "MISC._GENERAL_MERCHANDISE" |
313 | | "MISCELLANEOUS_GENERAL_SERVICES" |
314 | | "MISCELLANEOUS_REPAIR_SHOPS_AND_RELATED_SERVICES" |
315 | | "MODEL_KITS" |
316 | | "MONEY_TRANSFER_MEMBER_FINANCIAL_INSTITUTION" |
317 | | "MONEY_TRANSFER_MERCHANT" |
318 | | "MOTION_PICTURE_THEATERS" |
319 | | "MOTOR_FREIGHT_CARRIERS_AND_TRUCKING" |
320 | | "MOTOR_HOME_AND_RECREATIONAL_VEHICLE_RENTAL" |
321 | | "MOTOR_HOMES_DEALERS" |
322 | | "MOTOR_VEHICLE_SUPPLIES_AND_NEW_PARTS" |
323 | | "MOTORCYCLE_DEALERS" |
324 | | "MOTORCYCLES" |
325 | | "MOVIE" |
326 | | "MOVIE_TICKETS" |
327 | | "MOVING_AND_STORAGE" |
328 | | "MULTI_LEVEL_MARKETING" |
329 | | "MUSIC_CDS_CASSETTES_AND_ALBUMS" |
330 | | "MUSIC_STORE_INSTRUMENTS_AND_SHEET_MUSIC" |
331 | | "NETWORKING" |
332 | | "NEW_AGE" |
333 | | "NEW_PARTS_AND_SUPPLIES_MOTOR_VEHICLE" |
334 | | "NEWS_DEALERS_AND_NEWSTANDS" |
335 | | "NON_DURABLE_GOODS" |
336 | | "NON_FICTION" |
337 | | "NON_PROFIT_POLITICAL_AND_RELIGION" |
338 | | "NONPROFIT" |
339 | | "NOVELTIES" |
340 | | "OEM_SOFTWARE" |
341 | | "OFFICE_SUPPLIES_AND_EQUIPMENT" |
342 | | "ONLINE_DATING" |
343 | | "ONLINE_GAMING" |
344 | | "ONLINE_GAMING_CURRENCY" |
345 | | "ONLINE_SERVICES" |
346 | | "OOUTBOUND_TELEMARKETING_MERCH" |
347 | | "OPHTHALMOLOGISTS_OPTOMETRIST" |
348 | | "OPTICIANS_AND_DISPENSING" |
349 | | "ORTHOPEDIC_GOODS_PROSTHETICS" |
350 | | "OSTEOPATHS" |
351 | | "OTHER" |
352 | | "PACKAGE_TOUR_OPERATORS" |
353 | | "PAINTBALL" |
354 | | "PAINTS_VARNISHES_AND_SUPPLIES" |
355 | | "PARKING_LOTS_AND_GARAGES" |
356 | | "PARTS_AND_ACCESSORIES" |
357 | | "PAWN_SHOPS" |
358 | | "PAYCHECK_LENDER_OR_CASH_ADVANCE" |
359 | | "PERIPHERALS" |
360 | | "PERSONALIZED_GIFTS" |
361 | | "PET_SHOPS_PET_FOOD_AND_SUPPLIES" |
362 | | "PETROLEUM_AND_PETROLEUM_PRODUCTS" |
363 | | "PETS_AND_ANIMALS" |
364 | | "PHOTOFINISHING_LABORATORIES_PHOTO_DEVELOPING" |
365 | | "PHOTOGRAPHIC_STUDIOS_PORTRAITS" |
366 | | "PHOTOGRAPHY" |
367 | | "PHYSICAL_GOOD" |
368 | | "PICTURE_VIDEO_PRODUCTION" |
369 | | "PIECE_GOODS_NOTIONS_AND_OTHER_DRY_GOODS" |
370 | | "PLANTS_AND_SEEDS" |
371 | | "PLUMBING_AND_HEATING_EQUIPMENTS_AND_SUPPLIES" |
372 | | "POLICE_RELATED_ITEMS" |
373 | | "POLITICAL_ORGANIZATIONS" |
374 | | "POSTAL_SERVICES_GOVERNMENT_ONLY" |
375 | | "POSTERS" |
376 | | "PREPAID_AND_STORED_VALUE_CARDS" |
377 | | "PRESCRIPTION_DRUGS" |
378 | | "PROMOTIONAL_ITEMS" |
379 | | "PUBLIC_WAREHOUSING_AND_STORAGE" |
380 | | "PUBLISHING_AND_PRINTING" |
381 | | "PUBLISHING_SERVICES" |
382 | | "RADAR_DECTORS" |
383 | | "RADIO_TELEVISION_AND_STEREO_REPAIR" |
384 | | "REAL_ESTATE" |
385 | | "REAL_ESTATE_AGENT" |
386 | | "REAL_ESTATE_AGENTS_AND_MANAGERS_RENTALS" |
387 | | "RELIGION_AND_SPIRITUALITY_FOR_PROFIT" |
388 | | "RELIGIOUS" |
389 | | "RELIGIOUS_ORGANIZATIONS" |
390 | | "REMITTANCE" |
391 | | "RENTAL_PROPERTY_MANAGEMENT" |
392 | | "RESIDENTIAL" |
393 | | "RETAIL" |
394 | | "RETAIL_FINE_JEWELRY_AND_WATCHES" |
395 | | "REUPHOLSTERY_AND_FURNITURE_REPAIR" |
396 | | "RINGS" |
397 | | "ROOFING_SIDING_SHEET_METAL" |
398 | | "RUGS_AND_CARPETS" |
399 | | "SCHOOLS_AND_COLLEGES" |
400 | | "SCIENCE_FICTION" |
401 | | "SCRAPBOOKING" |
402 | | "SCULPTURES" |
403 | | "SECURITIES_BROKERS_AND_DEALERS" |
404 | | "SECURITY_AND_SURVEILLANCE" |
405 | | "SECURITY_AND_SURVEILLANCE_EQUIPMENT" |
406 | | "SECURITY_BROKERS_AND_DEALERS" |
407 | | "SEMINARS" |
408 | | "SERVICE_STATIONS" |
409 | | "SERVICES" |
410 | | "SEWING_NEEDLEWORK_FABRIC_AND_PIECE_GOODS_STORES" |
411 | | "SHIPPING_AND_PACKING" |
412 | | "SHOE_REPAIR_HAT_CLEANING" |
413 | | "SHOE_STORES" |
414 | | "SHOES" |
415 | | "SNOWMOBILE_DEALERS" |
416 | | "SOFTWARE" |
417 | | "SPECIALTY_AND_MISC._FOOD_STORES" |
418 | | "SPECIALTY_CLEANING_POLISHING_AND_SANITATION_PREPARATIONS" |
419 | | "SPECIALTY_OR_RARE_PETS" |
420 | | "SPORT_GAMES_AND_TOYS" |
421 | | "SPORTING_AND_RECREATIONAL_CAMPS" |
422 | | "SPORTING_GOODS" |
423 | | "SPORTS_AND_OUTDOORS" |
424 | | "SPORTS_AND_RECREATION" |
425 | | "STAMP_AND_COIN" |
426 | | "STATIONARY_PRINTING_AND_WRITING_PAPER" |
427 | | "STENOGRAPHIC_AND_SECRETARIAL_SUPPORT_SERVICES" |
428 | | "STOCKS_BONDS_SECURITIES_AND_RELATED_CERTIFICATES" |
429 | | "STORED_VALUE_CARDS" |
430 | | "SUPPLIES" |
431 | | "SUPPLIES_AND_TOYS" |
432 | | "SURVEILLANCE_EQUIPMENT" |
433 | | "SWIMMING_POOLS_AND_SPAS" |
434 | | "SWIMMING_POOLS_SALES_SUPPLIES_SERVICES" |
435 | | "TAILORS_AND_ALTERATIONS" |
436 | | "TAX_PAYMENTS" |
437 | | "TAX_PAYMENTS_GOVERNMENT_AGENCIES" |
438 | | "TAXICABS_AND_LIMOUSINES" |
439 | | "TELECOMMUNICATION_SERVICES" |
440 | | "TELEPHONE_CARDS" |
441 | | "TELEPHONE_EQUIPMENT" |
442 | | "TELEPHONE_SERVICES" |
443 | | "THEATER" |
444 | | "TIRE_RETREADING_AND_REPAIR" |
445 | | "TOLL_OR_BRIDGE_FEES" |
446 | | "TOOLS_AND_EQUIPMENT" |
447 | | "TOURIST_ATTRACTIONS_AND_EXHIBITS" |
448 | | "TOWING_SERVICE" |
449 | | "TOYS_AND_GAMES" |
450 | | "TRADE_AND_VOCATIONAL_SCHOOLS" |
451 | | "TRADEMARK_INFRINGEMENT" |
452 | | "TRAILER_PARKS_AND_CAMPGROUNDS" |
453 | | "TRAINING_SERVICES" |
454 | | "TRANSPORTATION_SERVICES" |
455 | | "TRAVEL" |
456 | | "TRUCK_AND_UTILITY_TRAILER_RENTALS" |
457 | | "TRUCK_STOP" |
458 | | "TYPESETTING_PLATE_MAKING_AND_RELATED_SERVICES" |
459 | | "USED_MERCHANDISE_AND_SECONDHAND_STORES" |
460 | | "USED_PARTS_MOTOR_VEHICLE" |
461 | | "UTILITIES" |
462 | | "UTILITIES_ELECTRIC_GAS_WATER_SANITARY" |
463 | | "VARIETY_STORES" |
464 | | "VEHICLE_SALES" |
465 | | "VEHICLE_SERVICE_AND_ACCESSORIES" |
466 | | "VIDEO_EQUIPMENT" |
467 | | "VIDEO_GAME_ARCADES_ESTABLISH" |
468 | | "VIDEO_GAMES_AND_SYSTEMS" |
469 | | "VIDEO_TAPE_RENTAL_STORES" |
470 | | "VINTAGE_AND_COLLECTIBLE_VEHICLES" |
471 | | "VINTAGE_AND_COLLECTIBLES" |
472 | | "VITAMINS_AND_SUPPLEMENTS" |
473 | | "VOCATIONAL_AND_TRADE_SCHOOLS" |
474 | | "WATCH_CLOCK_AND_JEWELRY_REPAIR" |
475 | | "WEB_HOSTING_AND_DESIGN" |
476 | | "WELDING_REPAIR" |
477 | | "WHOLESALE_CLUBS" |
478 | | "WHOLESALE_FLORIST_SUPPLIERS" |
479 | | "WHOLESALE_PRESCRIPTION_DRUGS" |
480 | | "WILDLIFE_PRODUCTS" |
481 | | "WIRE_TRANSFER" |
482 | | "WIRE_TRANSFER_AND_MONEY_ORDER" |
483 | | "WOMEN_ACCESSORY_SPECIALITY" |
484 | | "WOMEN_CLOTHING"; |
485 | image_url?: string; |
486 | home_url?: string; |
487 | }, |
488 | ) { |
489 | const token = await getToken(auth); |
490 | const url = new URL(`https://api-m.paypal.com/v1/catalogs/products`); |
491 |
|
492 | const response = await fetch(url, { |
493 | method: "POST", |
494 | headers: { |
495 | Prefer: Prefer, |
496 | "PayPal-Request-Id": PayPal_Request_Id, |
497 | "Content-Type": "application/json", |
498 | Authorization: "Bearer " + token, |
499 | }, |
500 | body: JSON.stringify(body), |
501 | }); |
502 | if (!response.ok) { |
503 | const text = await response.text(); |
504 | throw new Error(`${response.status} ${text}`); |
505 | } |
506 | return await response.json(); |
507 | } |
508 |
|