@portone/mcp-server 0.14.0 → 0.15.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/assets/docs/_components/ko/docs-for-llms.md +21 -0
- package/assets/docs/_components/ko/llms-txt-support.md +15 -0
- package/assets/docs/_components/ko/using-mcp-server.md +60 -0
- package/assets/docs/help/admin-console/analytics/content32.md +4 -4
- package/assets/docs/help/admin-console/payment-service/content29.md +223 -110
- package/assets/docs/help/admin-console/pg-settlement/content30.md +103 -208
- package/assets/docs/help/admin-console/pg-settlement-history/content35.md +167 -0
- package/assets/docs/help/admin-console/platform-settlement/partner_settlement_service_guide.md +268 -0
- package/assets/docs/help/api-sdk-2025-05-14.md +71 -0
- package/assets/docs/help/applepay.md +1 -1
- package/assets/docs/help/content100002.md +1 -1
- package/assets/docs/help/content100029.md +1 -1
- package/assets/docs/help/content100060.md +2 -2
- package/assets/docs/help/content200015.md +1 -1
- package/assets/docs/help/content200019.md +1 -1
- package/assets/docs/help/content200023.md +2 -2
- package/assets/docs/help/content200050.md +1 -1
- package/assets/docs/help/content61.md +0 -2
- package/assets/docs/help/core-service/channel-setting/danal.md +6 -8
- package/assets/docs/help/core-service/channel-setting/eximbay.md +224 -17
- package/assets/docs/help/core-service/channel-setting/kcp_channel.md +80 -13
- package/assets/docs/help/core-service/channel-setting/naverpay.md +6 -8
- package/assets/docs/help/core-service/channel-setting/nice.md +49 -47
- package/assets/docs/help/core-service/channel-setting/payletter.md +91 -0
- package/assets/docs/help/core-service/channel-setting/paymentwall.md +4 -1
- package/assets/docs/help/core-service/how-to-use/additional-nice.md +19 -19
- package/assets/docs/help/core-service/how-to-use/cancel-reversal.md +2 -2
- package/assets/docs/help/core-service/how-to-use/content200009.md +2 -2
- package/assets/docs/help/core-service/how-to-use/danal-contract.md +2 -2
- package/assets/docs/help/core-service/how-to-use/daou-contract.md +2 -2
- package/assets/docs/help/core-service/how-to-use/eximbay-contract.md +1 -1
- package/assets/docs/help/core-service/how-to-use/high-risk-industry.md +9 -9
- package/assets/docs/help/core-service/how-to-use/identity-verification-age-restriction.md +29 -0
- package/assets/docs/help/core-service/how-to-use/information-pg.md +4 -10
- package/assets/docs/help/core-service/how-to-use/kakao-contract.md +2 -2
- package/assets/docs/help/core-service/how-to-use/ksnet-contract.md +1 -1
- package/assets/docs/help/core-service/how-to-use/nice-contract.md +15 -15
- package/assets/docs/help/core-service/how-to-use/open-immediately.md +1 -1
- package/assets/docs/help/core-service/how-to-use/point-service.md +7 -7
- package/assets/docs/help/core-service/how-to-use/settle-contract.md +2 -2
- package/assets/docs/help/core-service/how-to-use/shopify-available-list.md +4 -4
- package/assets/docs/help/core-service/how-to-use/shopify-guide.md +1 -1
- package/assets/docs/help/core-service/how-to-use/test-mode-cancel.md +3 -3
- package/assets/docs/help/core-service/how-to-use/tosspayments-contract.md +4 -4
- package/assets/docs/help/core-service/payment-type/content200007.md +8 -7
- package/assets/docs/help/core-service/payment-type/content200036.md +17 -18
- package/assets/docs/help/core-service/payment-type/content200042.md +3 -3
- package/assets/docs/help/core-service/payment-type/content200052.md +2 -2
- package/assets/docs/help/core-service/payment-type/content200053.md +7 -3
- package/assets/docs/help/core-service/payment-type/hub-service-fee.md +19 -17
- package/assets/docs/help/core-service/payment-type/inicis-easypay-hub-fee.md +5 -6
- package/assets/docs/help/core-service/payment-type/inicis-international.md +10 -10
- package/assets/docs/help/core-service/payment-type/internationl-pg.md +7 -3
- package/assets/docs/help/core-service/payment-type/kcp-easypay-hub-apply.md +4 -5
- package/assets/docs/help/core-service/payment-type/kcp-international.md +2 -3
- package/assets/docs/help/core-service/payment-type/nice-easypay-hub-fee.md +8 -8
- package/assets/docs/help/core-service/payment-type/nice-international.md +14 -14
- package/assets/docs/help/core-service/payment-type/payletter-international.md +105 -0
- package/assets/docs/help/core-service/payment-type/paypal-payment-status.md +3 -3
- package/assets/docs/help/core-service/payment-type/schedule-requirement.md +2 -2
- package/assets/docs/help/faq/console-faq/change-console-url.md +2 -0
- package/assets/docs/help/faq/general-inquiry/confirm-process.md +16 -16
- package/assets/docs/help/faq/general-inquiry/identity-verification-suspended-ip.md +35 -0
- package/assets/docs/help/faq/general-inquiry/kcp-business-number-error.md +29 -0
- package/assets/docs/help/faq/general-inquiry/platform-contract-method.md +4 -5
- package/assets/docs/help/faq/general-inquiry/platform-contract-pg.md +2 -2
- package/assets/docs/help/faq/general-inquiry/real-channel-info.md +1 -1
- package/assets/docs/help/faq/payment-faq/cash-receipt-guide.md +2 -2
- package/assets/docs/help/faq/payment-faq/kcp-cash-receipt.md +34 -0
- package/assets/docs/help/faq/payment-faq/payment-failure-danal-insufficient-funds.md +29 -0
- package/assets/docs/help/faq/payment-faq/payment-failure-kcp-insufficient-funds.md +35 -0
- package/assets/docs/help/faq/payment-faq/payment-failure-kiwoompay-insufficient-funds.md +25 -0
- package/assets/docs/help/faq/payment-faq/payment-failure-nice-insufficient-funds.md +28 -0
- package/assets/docs/help/faq/payment-faq/pg-max-min-amount.md +3 -3
- package/assets/docs/help/faq/payment-faq/vbank-service-detail.md +10 -10
- package/assets/docs/help/faq/payment-faq/wordpress-woocommerce-taxation.md +67 -0
- package/assets/docs/help/faq/platform-faq/platform_additional_fee_setting.md +28 -0
- package/assets/docs/help/faq/platform-faq/platform_api_docs.md +24 -0
- package/assets/docs/help/faq/platform-faq/platform_definition_partner.md +34 -0
- package/assets/docs/help/faq/platform-faq/platform_definition_payout_agency.md +23 -0
- package/assets/docs/help/faq/platform-faq/platform_definition_platform.md +17 -0
- package/assets/docs/help/faq/platform-faq/platform_definition_settlement.md +29 -0
- package/assets/docs/help/faq/platform-faq/platform_difference_settlement_payout.md +29 -0
- package/assets/docs/help/faq/platform-faq/platform_ecommerce_discount_policy.md +19 -0
- package/assets/docs/help/faq/platform-faq/platform_introduction.md +15 -0
- package/assets/docs/help/faq/platform-faq/platform_introduction_conditions.md +16 -0
- package/assets/docs/help/faq/platform-faq/platform_nocode_guide.md +5 -5
- package/assets/docs/help/faq/platform-faq/platform_nocode_hosting.md +20 -0
- package/assets/docs/help/faq/platform-faq/platform_nocode_use.md +28 -0
- package/assets/docs/help/faq/platform-faq/platform_partner_bulk_registration.md +31 -0
- package/assets/docs/help/faq/platform-faq/platform_partner_info_guide.md +49 -0
- package/assets/docs/help/faq/platform-faq/platform_partner_management_tags.md +14 -0
- package/assets/docs/help/faq/platform-faq/platform_partner_tax_type.md +18 -0
- package/assets/docs/help/faq/platform-faq/platform_partnerships.md +16 -0
- package/assets/docs/help/faq/platform-faq/platform_payment_formula_setting.md +20 -0
- package/assets/docs/help/faq/platform-faq/platform_paymentdetails_definition.md +11 -0
- package/assets/docs/help/faq/platform-faq/platform_paymentdetails_view_features.md +18 -0
- package/assets/docs/help/faq/platform-faq/platform_payoutagency_realtime_payment.md +22 -0
- package/assets/docs/help/faq/platform-faq/platform_payoutagency_safety_legality.md +22 -0
- package/assets/docs/help/faq/platform-faq/platform_payoutagency_scheduled_payment.md +18 -0
- package/assets/docs/help/faq/platform-faq/platform_pg_fee_handling.md +18 -0
- package/assets/docs/help/faq/platform-faq/platform_policymanagement_calculator.md +1 -1
- package/assets/docs/help/faq/platform-faq/platform_privacypolicy_creation_guide.md +24 -0
- package/assets/docs/help/faq/platform-faq/platform_privacypolicy_definition.md +19 -0
- package/assets/docs/help/faq/platform-faq/platform_privacypolicy_service_compliance.md +28 -0
- package/assets/docs/help/faq/platform-faq/platform_settlement_auto_calculation_setting.md +39 -0
- package/assets/docs/help/faq/platform-faq/platform_settlement_cancellation_data.md +21 -0
- package/assets/docs/help/faq/platform-faq/platform_settlement_custom_attributes.md +18 -0
- package/assets/docs/help/faq/platform-faq/platform_settlement_custom_formula_request.md +20 -0
- package/assets/docs/help/faq/platform-faq/platform_settlement_cycle_setting.md +42 -0
- package/assets/docs/help/faq/platform-faq/platform_settlement_decimal_rounding.md +23 -0
- package/assets/docs/help/faq/platform-faq/platform_settlement_hold_date_setting.md +35 -0
- package/assets/docs/help/faq/platform-faq/platform_settlement_holidays.md +9 -0
- package/assets/docs/help/faq/platform-faq/platform_settlement_manual_registration.md +32 -0
- package/assets/docs/help/faq/platform-faq/platform_settlementdetails_view_features.md +26 -0
- package/assets/docs/help/faq/platform-faq/platform_settlmentandpayout_guide.md +4 -4
- package/assets/docs/help/faq/platform-faq/platform_supported_bank_codes.md +85 -0
- package/assets/docs/help/faq/platform-faq/platform_supported_currencies.md +33 -0
- package/assets/docs/help/faq/platform-faq/platform_tax_calculation.md +17 -0
- package/assets/docs/help/faq/platform-faq/platform_tax_setting_guide.md +1 -1
- package/assets/docs/help/faq/platform-faq/platform_tax_withholding_tax_definition.md +14 -0
- package/assets/docs/help/faq/platform-faq/platform_virtual_account_withdrawal.md +16 -0
- package/assets/docs/help/faq/platform-faq/platform_webhook_definition.md +24 -0
- package/assets/docs/help/faq/platform-faq/recommended_withdrawal.md +16 -0
- package/assets/docs/help/faq/platform-faq/system_test_environment.md +13 -0
- package/assets/docs/help/faq/platform-faq/taxinvoice_bulk_issuance.md +25 -0
- package/assets/docs/help/faq/platform-faq/taxinvoice_cancel.md +12 -0
- package/assets/docs/help/faq/platform-faq/taxinvoice_delayed.md +18 -0
- package/assets/docs/help/faq/platform-faq/taxinvoice_forward_issuance.md +23 -0
- package/assets/docs/help/faq/platform-faq/taxinvoice_guide_atoz.md +202 -0
- package/assets/docs/help/faq/platform-faq/taxinvoice_partner_peristalsis.md +60 -0
- package/assets/docs/help/faq/platform-faq/taxinvoice_reverse_issuance_buyer_process.md +52 -0
- package/assets/docs/help/faq/platform-faq/taxinvoice_reverse_issuance_definition.md +46 -0
- package/assets/docs/help/faq/platform-faq/taxinvoice_reverse_issuance_partner_signup.md +23 -0
- package/assets/docs/help/faq/platform-faq/taxinvoice_reverse_issuance_supplier_process.md +47 -0
- package/assets/docs/help/notice-payletter-2025-10-21.md +29 -0
- package/assets/docs/help/notice-payletter-2025-10-24.md +46 -0
- package/assets/docs/help/notice-v1-api-2025-11-24.md +78 -0
- package/assets/docs/help/notice-v1-api-2025-11-25.md +59 -0
- package/assets/docs/help/platform-2025-07-02.md +73 -0
- package/assets/docs/help/platform-2025-07-07.md +56 -0
- package/assets/docs/help/pricing/pg/domestic-and-oversea-fees.md +2 -2
- package/assets/docs/help/pricing/portone/portone-pricing.md +1 -1
- package/assets/docs/help/procedure/payment-integration/test-integration.md +2 -2
- package/assets/docs/help/procedure/pg-application/content59.md +1 -1
- package/assets/docs/help/procedure/pg-application/start.md +1 -1
- package/assets/docs/help/procedure/recommendation/package.md +14 -8
- package/assets/docs/help/service/identity-verification/identity-verification.md +6 -6
- package/assets/docs/help/service/paymethod/paymethod.md +2 -2
- package/assets/docs/help/service/pg/pg-service-list.md +25 -13
- package/assets/docs/help/service/version/portone-version.md +1 -1
- package/assets/docs/opi/ko/console/guide/billing-payments.md +1 -1
- package/assets/docs/opi/ko/console/guide/reg.md +1 -1
- package/assets/docs/opi/ko/console/guide/smartrouting.md +0 -2
- package/assets/docs/opi/ko/console/pg.md +7 -7
- package/assets/docs/opi/ko/etc/recon.md +2 -2
- package/assets/docs/opi/ko/extra/confirm-process/readme-v1.md +2 -2
- package/assets/docs/opi/ko/extra/confirm-process/readme-v2.md +11 -4
- package/assets/docs/opi/ko/extra/identity-verification/readme-v2.md +2 -2
- package/assets/docs/opi/ko/extra/identity-verification/v1/all/3.md +3 -3
- package/assets/docs/opi/ko/extra/identity-verification/v1/all/readme.md +1 -1
- package/assets/docs/opi/ko/extra/identity-verification/v1/credit-auth/4.md +3 -3
- package/assets/docs/opi/ko/extra/identity-verification/v1/phone/4.md +3 -3
- package/assets/docs/opi/ko/extra/manual-confirm/readme-v2.md +74 -0
- package/assets/docs/opi/ko/extra/plugins/wordpress/button.md +1 -1
- package/assets/docs/opi/ko/extra/plugins/wordpress/edd.md +1 -1
- package/assets/docs/opi/ko/extra/plugins/wordpress/woocommerce/subscription.md +1 -1
- package/assets/docs/opi/ko/extra/promotion/intro.md +1 -1
- package/assets/docs/opi/ko/extra/smart-routing/console-guide.md +1 -1
- package/assets/docs/opi/ko/extra/smart-routing/integration.md +2 -2
- package/assets/docs/opi/ko/extra/smart-routing/intro.md +9 -10
- package/assets/docs/opi/ko/integration/pg/v1/danal.md +6 -1
- package/assets/docs/opi/ko/integration/pg/v1/daou/readme.md +10 -1
- package/assets/docs/opi/ko/integration/pg/v1/daou/undefined.md +8 -0
- package/assets/docs/opi/ko/integration/pg/v1/eximbay.md +0 -14
- package/assets/docs/opi/ko/integration/pg/v1/inicis.md +60 -2
- package/assets/docs/opi/ko/integration/pg/v1/kakaopay.md +12 -1
- package/assets/docs/opi/ko/integration/pg/v1/kicc.md +3 -1
- package/assets/docs/opi/ko/integration/pg/v1/ksnet/readme.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/newtoss/readme.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/nhn-kcp/kcp-quickpay.md +710 -0
- package/assets/docs/opi/ko/integration/pg/v1/nhn-kcp/readme.md +661 -0
- package/assets/docs/opi/ko/integration/pg/v1/nhn-kcp.md +0 -34
- package/assets/docs/opi/ko/integration/pg/v1/nice-v2/billing-api-caution.md +11 -11
- package/assets/docs/opi/ko/integration/pg/v1/nice-v2/payment-caution.md +16 -16
- package/assets/docs/opi/ko/integration/pg/v1/nice-v2/readme.md +10 -8
- package/assets/docs/opi/ko/integration/pg/v1/nice.md +7 -7
- package/assets/docs/opi/ko/integration/pg/v1/payletter-global.md +91 -0
- package/assets/docs/opi/ko/integration/pg/v1/paypal.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/readme.md +5 -5
- package/assets/docs/opi/ko/integration/pg/v1/rt/readme.md +3 -3
- package/assets/docs/opi/ko/integration/pg/v1/rt/warning.md +2 -2
- package/assets/docs/opi/ko/integration/pg/v1/settle/readme.md +81 -1
- package/assets/docs/opi/ko/integration/pg/v1/smartro-v2/caution.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/spb/readme.md +10 -9
- package/assets/docs/opi/ko/integration/pg/v1/tosspay-v2/readme.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v1/welcome/readme.md +10 -7
- package/assets/docs/opi/ko/integration/pg/v2/eximbay-v2.md +140 -22
- package/assets/docs/opi/ko/integration/pg/v2/hyphen.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v2/inicis-unified-identity-verification.md +0 -1
- package/assets/docs/opi/ko/integration/pg/v2/inicis-v2.md +13 -1
- package/assets/docs/opi/ko/integration/pg/v2/kcp-v2.md +4 -2
- package/assets/docs/opi/ko/integration/pg/v2/naverpay.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v2/nice-v2.md +40 -40
- package/assets/docs/opi/ko/integration/pg/v2/payletter-global.md +17 -3
- package/assets/docs/opi/ko/integration/pg/v2/paypal-v2.md +14 -13
- package/assets/docs/opi/ko/integration/pg/v2/readme.md +1 -9
- package/assets/docs/opi/ko/integration/pg/v2/smartro-v2.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v2/tosspayments.md +1 -1
- package/assets/docs/opi/ko/integration/pg/v2/welcome.md +8 -7
- package/assets/docs/opi/ko/integration/ready/readme.md +44 -42
- package/assets/docs/opi/ko/integration/start/v1/non-auth.md +2 -4
- package/assets/docs/opi/ko/integration/start/v2/billing/issue.md +1 -1
- package/assets/docs/opi/ko/integration/start/v2/checkout.md +4 -2
- package/assets/docs/opi/ko/integration/start/v2/readme.md +2 -3
- package/assets/docs/opi/ko/integration/using-ai-tools.md +33 -57
- package/assets/docs/opi/ko/integration/virtual-account/readme.md +9 -9
- package/assets/docs/opi/ko/integration/webhook/readme-v1.md +2 -4
- package/assets/docs/opi/ko/integration/webhook/readme-v2.md +3 -5
- package/assets/docs/opi/ko/quick-guide/payment.md +25 -77
- package/assets/docs/opi/ko/support/code-info/pg-1.md +1 -1
- package/assets/docs/opi/ko/support/code-info/pg-2.md +2 -2
- package/assets/docs/opi/ko/support/code-info/pg.md +2 -2
- package/assets/docs/opi/ko/support/contact.md +1 -13
- package/assets/docs/opi/ko/support/pg-terms.md +233 -0
- package/assets/docs/platform/ko/guides/dictionary.md +136 -16
- package/assets/docs/platform/ko/guides/process.md +1 -1
- package/assets/docs/platform/ko/guides/webhook.md +1 -1
- package/assets/docs/platform/ko/using-ai-tools.md +33 -57
- package/assets/docs/release-notes/api-sdk/2023-07-10.md +7 -7
- package/assets/docs/release-notes/api-sdk/2023-07-31.md +1 -1
- package/assets/docs/release-notes/api-sdk/2023-08-31.md +2 -2
- package/assets/docs/release-notes/api-sdk/2024-01-08.md +4 -4
- package/assets/docs/release-notes/api-sdk/2024-06-03.md +1 -1
- package/assets/docs/release-notes/api-sdk/2024-09-05.md +0 -1
- package/assets/docs/release-notes/api-sdk/2024-09-27.md +4 -4
- package/assets/docs/release-notes/console/2025-10-17.md +47 -0
- package/assets/docs/release-notes/platform/2025-03-17.md +1 -1
- package/assets/docs/release-notes/platform/2025-07-07.md +1 -1
- package/assets/docs/release-notes/platform/2025-07-23.md +85 -0
- package/assets/docs/release-notes/platform/2025-08-13.md +95 -0
- package/assets/docs/release-notes/platform/2025-08-21.md +53 -0
- package/assets/docs/release-notes/platform/2025-08-28.md +53 -0
- package/assets/docs/release-notes/platform/2025-10-02.md +152 -0
- package/assets/docs/schema/browser-sdk.schema.json +510 -0
- package/assets/docs/schema/browser-sdk.yml +196 -69
- package/assets/docs/schema/v1.openapi.json +845 -887
- package/assets/docs/schema/v1.openapi.yml +1062 -1737
- package/assets/docs/schema/v2.openapi.json +9177 -2044
- package/assets/docs/schema/v2.openapi.yml +7499 -1479
- package/assets/docs/sdk/ko/v1-sdk/javascript-sdk/payrq.md +3 -3
- package/assets/docs/sdk/ko/v1-sdk/javascript-sdk/payrt.md +3 -3
- package/assets/docs/sdk/ko/v2-mobile-sdk/android.md +1 -1
- package/assets/docs/sdk/ko/v2-server-sdk/jvm.md +12 -5
- package/assets/docs/sdk/ko/v2-server-sdk/python.md +12 -3
- package/assets/docs/v1-docs-full.md +2395 -1336
- package/assets/docs/v2-docs-full.md +1422 -649
- package/assets/docs/website-links.md +23 -15
- package/assets/instructions.md +4 -2
- package/manifest.json +1 -1
- package/package.json +17 -20
- package/server/index.js +135 -97
- package/assets/docs/help/admin-console/platform-settlement/content33-1.md +0 -201
- package/assets/docs/help/core-service/payment-type/schedule-logic-guide.md +0 -49
- package/assets/docs/help/core-service/payment-type/tosspayments-easypay-hub-fee.md +0 -42
- package/assets/docs/help/faq/platform-faq/taxinvoice_guide.md +0 -107
- package/assets/docs/help/faq/platform-faq/taxinvoice_signupemail.md +0 -67
package/server/index.js
CHANGED
|
@@ -15,7 +15,7 @@ import { GraphQLClient } from "graphql-request";
|
|
|
15
15
|
// package.json
|
|
16
16
|
var package_default = {
|
|
17
17
|
name: "@portone/mcp-server",
|
|
18
|
-
version: "0.
|
|
18
|
+
version: "0.15.0-alpha.1",
|
|
19
19
|
description: "\uD3EC\uD2B8\uC6D0 \uC0AC\uC6A9\uC790\uB97C \uC704\uD55C MCP (Model Context Protocol) \uC11C\uBC84\uC785\uB2C8\uB2E4. \uD3EC\uD2B8\uC6D0 \uAC1C\uBC1C\uC790\uC13C\uD130, \uD5EC\uD504\uC13C\uD130 \uB4F1 \uACF5\uC2DD \uBB38\uC11C \uB0B4\uC6A9\uC744 LLM(Large Language Model)\uC5D0 \uC81C\uACF5\uD574 \uC815\uD655\uD55C \uC815\uBCF4\uB97C \uBC14\uD0D5\uC73C\uB85C \uC0AC\uC6A9\uC790\uC758 \uC5F0\uB3D9 \uBC0F \uC9C8\uC758\uB97C \uB3D5\uB3C4\uB85D \uD569\uB2C8\uB2E4.",
|
|
20
20
|
main: "server/index.js",
|
|
21
21
|
type: "module",
|
|
@@ -24,10 +24,10 @@ var package_default = {
|
|
|
24
24
|
},
|
|
25
25
|
scripts: {
|
|
26
26
|
test: "vitest",
|
|
27
|
-
"update-docs": "node
|
|
27
|
+
"update-docs": "node update-docs.ts",
|
|
28
28
|
build: "tsup src/index.ts --outDir server --format esm",
|
|
29
|
-
"build:dxt": "node
|
|
30
|
-
dev: "node
|
|
29
|
+
"build:dxt": "node scripts/build-dxt.ts",
|
|
30
|
+
dev: "node src/index.ts",
|
|
31
31
|
start: "node server/index.js",
|
|
32
32
|
lint: "biome check .",
|
|
33
33
|
format: "biome format --write .",
|
|
@@ -45,31 +45,31 @@ var package_default = {
|
|
|
45
45
|
},
|
|
46
46
|
license: "MIT OR Apache-2.0",
|
|
47
47
|
dependencies: {
|
|
48
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
49
|
-
"@portone/server-sdk": "^0.
|
|
50
|
-
axios: "^1.
|
|
48
|
+
"@modelcontextprotocol/sdk": "^1.20.0",
|
|
49
|
+
"@portone/server-sdk": "^0.17.0",
|
|
50
|
+
axios: "^1.12.2",
|
|
51
51
|
graphql: "^16.11.0",
|
|
52
52
|
"graphql-request": "^7.2.0",
|
|
53
53
|
"gray-matter": "^4.0.3",
|
|
54
|
-
h3: "2.0.
|
|
54
|
+
h3: "2.0.1-rc.2",
|
|
55
55
|
"js-yaml": "^4.1.0",
|
|
56
56
|
open: "^10.2.0",
|
|
57
|
-
"ts-pattern": "^5.
|
|
57
|
+
"ts-pattern": "^5.8.0",
|
|
58
58
|
zod: "^3.25.75"
|
|
59
59
|
},
|
|
60
|
-
packageManager: "pnpm@10.
|
|
60
|
+
packageManager: "pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd",
|
|
61
61
|
devDependencies: {
|
|
62
|
-
"@biomejs/biome": "2.
|
|
63
|
-
"@changesets/cli": "^2.29.
|
|
62
|
+
"@biomejs/biome": "2.2.6",
|
|
63
|
+
"@changesets/cli": "^2.29.7",
|
|
64
64
|
"@types/js-yaml": "^4.0.9",
|
|
65
|
-
"@types/node": "^
|
|
65
|
+
"@types/node": "^22.18.10",
|
|
66
66
|
tsup: "^8.5.0",
|
|
67
|
-
"type-fest": "^
|
|
68
|
-
typescript: "^5.
|
|
69
|
-
vitest: "^
|
|
67
|
+
"type-fest": "^5.1.0",
|
|
68
|
+
typescript: "^5.9.3",
|
|
69
|
+
vitest: "^3.2.4"
|
|
70
70
|
},
|
|
71
71
|
engines: {
|
|
72
|
-
node: ">=22.
|
|
72
|
+
node: ">=22.18.0"
|
|
73
73
|
},
|
|
74
74
|
files: [
|
|
75
75
|
"server",
|
|
@@ -79,10 +79,7 @@ var package_default = {
|
|
|
79
79
|
"LICENSE-MIT",
|
|
80
80
|
"README.md"
|
|
81
81
|
],
|
|
82
|
-
repository:
|
|
83
|
-
type: "git",
|
|
84
|
-
url: "https://github.com/portone-io/portone-mcp-server.git"
|
|
85
|
-
}
|
|
82
|
+
repository: "github:portone-io/mcp-server"
|
|
86
83
|
};
|
|
87
84
|
|
|
88
85
|
// src/loader/index.ts
|
|
@@ -1732,7 +1729,6 @@ import z11 from "zod";
|
|
|
1732
1729
|
// src/tools/utils/markdown.ts
|
|
1733
1730
|
function formatDocumentMetadata(doc) {
|
|
1734
1731
|
const lines = [];
|
|
1735
|
-
lines.push(`\uD30C\uC77C: ${doc.path}`);
|
|
1736
1732
|
if (doc.frontmatter) {
|
|
1737
1733
|
if (doc.frontmatter.title) {
|
|
1738
1734
|
lines.push(`\uC81C\uBAA9: ${doc.frontmatter.title}`);
|
|
@@ -1751,40 +1747,44 @@ function formatDocumentMetadata(doc) {
|
|
|
1751
1747
|
var name5 = "listPortoneDocs";
|
|
1752
1748
|
var config5 = {
|
|
1753
1749
|
title: "\uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uBAA9\uB85D \uC870\uD68C",
|
|
1754
|
-
description: `\uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uBAA9\uB85D\uC744 \
|
|
1750
|
+
description: `\uD2B9\uC815 \uACBD\uB85C \uD558\uC704\uC5D0 \uC788\uB294 \uBAA8\uB4E0 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uBAA9\uB85D\uC744 \uD2B8\uB9AC \uD615\uD0DC\uB85C \uC870\uD68C\uD569\uB2C8\uB2E4.
|
|
1755
1751
|
\uBAA9\uB85D\uC5D0\uB294 \uBB38\uC11C \uACBD\uB85C, \uC81C\uBAA9, \uC124\uBA85, \uB300\uC0C1 \uBC84\uC804 \uB4F1 \uCD95\uC57D\uB41C \uBB38\uC11C \uC815\uBCF4\uAC00 \uD3EC\uD568\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.
|
|
1756
1752
|
|
|
1757
1753
|
Returns:
|
|
1758
|
-
\uD544\uD130\uB9C1\uB41C \uBB38\uC11C \uBAA9\uB85D (\uAC01 \uBB38\uC758 \
|
|
1754
|
+
\uD544\uD130\uB9C1\uB41C \uBB38\uC11C \uBAA9\uB85D (\uAC01 \uBB38\uC11C\uC758 \uD30C\uC77C\uBA85, \uAE38\uC774, \uC81C\uBAA9, \uC124\uBA85, \uB300\uC0C1 \uBC84\uC804 \uB4F1)
|
|
1755
|
+
|
|
1756
|
+
Note:
|
|
1757
|
+
\uBB38\uC11C \uBAA9\uB85D\uC740 \uB300\uB7C9\uC758 \uB370\uC774\uD130\uC774\uBBC0\uB85C \uC0C1\uC704 \uB514\uB809\uD1A0\uB9AC\uB97C \uC870\uD68C\uD560 \uACBD\uC6B0 omitFiles\uB97C true\uB85C \uC124\uC815\uD569\uB2C8\uB2E4.`,
|
|
1759
1758
|
inputSchema: {
|
|
1760
|
-
|
|
1761
|
-
"\
|
|
1759
|
+
paths: z11.string().array().default([]).describe(
|
|
1760
|
+
"\uD558\uC704 \uBAA9\uB85D\uC744 \uC870\uD68C\uD560 \uACBD\uB85C\uB4E4\uC785\uB2C8\uB2E4. \uBBF8\uC785\uB825 \uC2DC \uC804\uCCB4 \uBAA9\uB85D\uC744 \uC870\uD68C\uD569\uB2C8\uB2E4."
|
|
1762
1761
|
),
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
help_docs: z11.boolean().default(true).describe(
|
|
1766
|
-
"\uAC1C\uBC1C\uACFC \uBB34\uAD00\uD558\uAC8C \uC11C\uBE44\uC2A4 \uAD00\uB828 \uB0B4\uC6A9\uC744 \uC77C\uBC18\uC801\uC73C\uB85C \uB2F4\uB294 \uD5EC\uD504\uC13C\uD130 \uBB38\uC11C (help/) \uD3EC\uD568 \uC5EC\uBD80"
|
|
1762
|
+
onlyPaths: z11.boolean().default(false).describe(
|
|
1763
|
+
"true\uC778 \uACBD\uC6B0 \uBB38\uC11C\uB97C \uC81C\uC678\uD55C \uB514\uB809\uD1A0\uB9AC \uBAA9\uB85D\uB9CC \uD45C\uC2DC\uD558\uACE0, \uB514\uB809\uD1A0\uB9AC \uD558\uC704\uC5D0 readme.md\uAC00 \uC788\uB294 \uACBD\uC6B0 \uD574\uB2F9 \uD30C\uC77C\uC758 \uC124\uBA85\uC744 \uD45C\uC2DC\uD569\uB2C8\uB2E4."
|
|
1767
1764
|
)
|
|
1768
1765
|
}
|
|
1769
1766
|
};
|
|
1770
1767
|
function init5(documents) {
|
|
1771
|
-
return ({
|
|
1768
|
+
return ({ paths, onlyPaths }) => {
|
|
1772
1769
|
const { markdownDocs } = documents;
|
|
1773
1770
|
const filteredDocs = [];
|
|
1771
|
+
const docTree = /* @__PURE__ */ new Map();
|
|
1774
1772
|
for (const [path, doc] of Object.entries(markdownDocs)) {
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1773
|
+
const isSubpath = paths.length === 0 || paths.some((searchPath) => path.startsWith(searchPath));
|
|
1774
|
+
if (!isSubpath) continue;
|
|
1775
|
+
filteredDocs.push(doc);
|
|
1776
|
+
let treeNode = docTree;
|
|
1777
|
+
const components = path.split("/");
|
|
1778
|
+
if (onlyPaths) components.pop();
|
|
1779
|
+
for (const pathComp of components) {
|
|
1780
|
+
const child = treeNode.get(pathComp);
|
|
1781
|
+
if (child) {
|
|
1782
|
+
treeNode = child;
|
|
1783
|
+
} else {
|
|
1784
|
+
const newChild = /* @__PURE__ */ new Map();
|
|
1785
|
+
treeNode.set(pathComp, newChild);
|
|
1786
|
+
treeNode = newChild;
|
|
1787
|
+
}
|
|
1788
1788
|
}
|
|
1789
1789
|
}
|
|
1790
1790
|
if (filteredDocs.length === 0) {
|
|
@@ -1797,12 +1797,41 @@ function init5(documents) {
|
|
|
1797
1797
|
]
|
|
1798
1798
|
};
|
|
1799
1799
|
}
|
|
1800
|
-
const
|
|
1800
|
+
const treeLines = [];
|
|
1801
|
+
for (const rootPath of Array.from(docTree.keys()).sort()) {
|
|
1802
|
+
const rootNode = docTree.get(rootPath);
|
|
1803
|
+
if (rootNode) formatTree(0, rootPath, rootPath, rootNode);
|
|
1804
|
+
}
|
|
1805
|
+
function formatTree(level, path, filename, node) {
|
|
1806
|
+
const indent = " ".repeat(level);
|
|
1807
|
+
treeLines.push(`${indent}${filename}`);
|
|
1808
|
+
const docs = markdownDocs[path];
|
|
1809
|
+
if (docs) {
|
|
1810
|
+
const metadata = formatDocumentMetadata(docs).trim();
|
|
1811
|
+
if (metadata.length > 0) {
|
|
1812
|
+
treeLines.push(metadata);
|
|
1813
|
+
}
|
|
1814
|
+
}
|
|
1815
|
+
if (onlyPaths) {
|
|
1816
|
+
const readme = markdownDocs[`${path}/readme.md`];
|
|
1817
|
+
if (readme) {
|
|
1818
|
+
const metadata = formatDocumentMetadata(readme).trim();
|
|
1819
|
+
if (metadata.length > 0) {
|
|
1820
|
+
treeLines.push(metadata);
|
|
1821
|
+
}
|
|
1822
|
+
}
|
|
1823
|
+
}
|
|
1824
|
+
for (const child of Array.from(node.keys()).sort()) {
|
|
1825
|
+
const childNode = node.get(child);
|
|
1826
|
+
if (childNode)
|
|
1827
|
+
formatTree(level + 1, `${path}/${child}`, child, childNode);
|
|
1828
|
+
}
|
|
1829
|
+
}
|
|
1801
1830
|
return {
|
|
1802
1831
|
content: [
|
|
1803
1832
|
{
|
|
1804
1833
|
type: "text",
|
|
1805
|
-
text:
|
|
1834
|
+
text: treeLines.join("\n")
|
|
1806
1835
|
}
|
|
1807
1836
|
]
|
|
1808
1837
|
};
|
|
@@ -1955,10 +1984,10 @@ __export(readDoc_exports, {
|
|
|
1955
1984
|
import z14 from "zod";
|
|
1956
1985
|
var name8 = "readPortoneDoc";
|
|
1957
1986
|
var OutputSchema7 = z14.object({
|
|
1958
|
-
content: z14.string().
|
|
1959
|
-
metadata: z14.string().
|
|
1960
|
-
url: z14.string().
|
|
1961
|
-
});
|
|
1987
|
+
content: z14.string().describe("\uCC3E\uC740 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uB0B4\uC6A9"),
|
|
1988
|
+
metadata: z14.string().describe("\uCC3E\uC740 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uBA54\uD0C0 \uC815\uBCF4"),
|
|
1989
|
+
url: z14.string().describe("\uBB38\uC11C\uB97C \uC6F9\uC73C\uB85C \uC811\uADFC \uAC00\uB2A5\uD55C \uB9C1\uD06C")
|
|
1990
|
+
}).partial();
|
|
1962
1991
|
var config8 = {
|
|
1963
1992
|
title: "\uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uC77D\uAE30",
|
|
1964
1993
|
description: `\uD3EC\uD2B8\uC6D0 \uAC1C\uBCC4 \uBB38\uC11C\uC758 \uACBD\uB85C\uB97C \uD1B5\uD574 \uD574\uB2F9 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uB0B4\uC6A9, \uBA54\uD0C0 \uC815\uBCF4(\uC81C\uBAA9, \uC124\uBA85, \uB300\uC0C1 \uBC84\uC804 \uB4F1), \uC6F9\uC73C\uB85C \uC811\uADFC \uAC00\uB2A5\uD55C \uB9C1\uD06C\uB97C \uAC00\uC838\uC635\uB2C8\uB2E4.
|
|
@@ -1968,12 +1997,14 @@ Note:
|
|
|
1968
1997
|
\uADF8 \uC911 \uC6D0\uD558\uB294 \uBB38\uC11C\uC758 path\uB97C readPortoneDoc\uC5D0 \uC804\uB2EC\uD558\uC5EC \uB0B4\uC6A9\uC744 \uD655\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`,
|
|
1969
1998
|
inputSchema: {
|
|
1970
1999
|
path: z14.string().describe("\uC77D\uC744 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uACBD\uB85C"),
|
|
1971
|
-
fields: OutputSchema7.keyof().array().describe("\uBC1B\uC744 \uD544\uB4DC \uBAA9\uB85D")
|
|
2000
|
+
fields: OutputSchema7.keyof().array().describe("\uBC1B\uC744 \uD544\uB4DC \uBAA9\uB85D"),
|
|
2001
|
+
startIndex: z14.number().optional().describe("\uC77D\uC5B4\uC62C \uBC94\uC704 \uC2DC\uC791 \uC778\uB371\uC2A4. \uBBF8\uC124\uC815 \uC2DC \uCC98\uC74C\uBD80\uD130 \uC77D\uC5B4\uC635\uB2C8\uB2E4."),
|
|
2002
|
+
endIndex: z14.number().optional().describe("\uC77D\uC5B4\uC62C \uBC94\uC704 \uB05D \uC778\uB371\uC2A4. \uBBF8\uC124\uC815 \uC2DC \uB05D\uAE4C\uC9C0 \uC77D\uC5B4\uC635\uB2C8\uB2E4.")
|
|
1972
2003
|
},
|
|
1973
2004
|
outputSchema: OutputSchema7.shape
|
|
1974
2005
|
};
|
|
1975
2006
|
function init8(documents) {
|
|
1976
|
-
return ({ path, fields }) => {
|
|
2007
|
+
return ({ path, fields, startIndex, endIndex }) => {
|
|
1977
2008
|
const { markdownDocs } = documents;
|
|
1978
2009
|
const doc = markdownDocs[path];
|
|
1979
2010
|
if (!doc) {
|
|
@@ -1990,7 +2021,7 @@ function init8(documents) {
|
|
|
1990
2021
|
const structuredContent = filterFields(
|
|
1991
2022
|
fields,
|
|
1992
2023
|
{
|
|
1993
|
-
content: doc.content,
|
|
2024
|
+
content: doc.content.slice(startIndex, endIndex),
|
|
1994
2025
|
metadata: formatDocumentMetadata(doc),
|
|
1995
2026
|
url: docPathToUrl(doc.path)
|
|
1996
2027
|
}
|
|
@@ -2207,17 +2238,13 @@ function init10(schema) {
|
|
|
2207
2238
|
try {
|
|
2208
2239
|
const pruned_data = pruneYaml(schemaData, 3);
|
|
2209
2240
|
const yamlOutput = stringifyYaml(pruned_data);
|
|
2210
|
-
const structuredContent = {
|
|
2211
|
-
result: yamlOutput
|
|
2212
|
-
};
|
|
2213
2241
|
return {
|
|
2214
2242
|
content: [
|
|
2215
2243
|
{
|
|
2216
2244
|
type: "text",
|
|
2217
|
-
text:
|
|
2245
|
+
text: yamlOutput
|
|
2218
2246
|
}
|
|
2219
|
-
]
|
|
2220
|
-
structuredContent
|
|
2247
|
+
]
|
|
2221
2248
|
};
|
|
2222
2249
|
} catch (error) {
|
|
2223
2250
|
return {
|
|
@@ -2509,56 +2536,71 @@ ${searchableText}`;
|
|
|
2509
2536
|
}
|
|
2510
2537
|
|
|
2511
2538
|
// src/tools/regexSearch.ts
|
|
2512
|
-
var name13 = "
|
|
2539
|
+
var name13 = "regexSearchPortoneDocs";
|
|
2513
2540
|
var config13 = {
|
|
2514
2541
|
title: "\uD3EC\uD2B8\uC6D0 \uBB38\uC11C \uC815\uADDC\uD45C\uD604\uC2DD \uAC80\uC0C9",
|
|
2515
|
-
description: `\uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uB0B4\uC6A9 \uC911 Node.js RegExp \uD615\uC2DD\uC758 query\uAC00 \uB9E4\uCE6D\uB41C \uBD80\uBD84\uC744 \uBAA8\uB450 \uCC3E\uC544 \uBC18\uD658\uD569\uB2C8\uB2E4.
|
|
2542
|
+
description: `\uD2B9\uC815 \uACBD\uB85C \uD558\uC704\uC758 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uC758 \uB0B4\uC6A9 \uC911 Node.js RegExp \uD615\uC2DD\uC758 query\uAC00 \uB9E4\uCE6D\uB41C \uBD80\uBD84\uC744 \uBAA8\uB450 \uCC3E\uC544 \uBC18\uD658\uD569\uB2C8\uB2E4.
|
|
2516
2543
|
\uC815\uADDC\uC2DD \uAE30\uBC18\uC73C\uB85C \uAD00\uB828 \uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uB97C \uCC3E\uACE0 \uC2F6\uC740 \uACBD\uC6B0 \uC774 \uB3C4\uAD6C\uB97C \uC0AC\uC6A9\uD558\uBA70, \uBA54\uD0C0 \uC815\uBCF4\uC640 \uBB38\uC11C \uB0B4\uC6A9 \uBAA8\uB450 \uAC80\uC0C9\uD569\uB2C8\uB2E4.`,
|
|
2517
2544
|
inputSchema: {
|
|
2545
|
+
paths: z19.string().array().optional().describe(
|
|
2546
|
+
"\uC124\uC815 \uC2DC \uC774 \uACBD\uB85C\uB97C \uC811\uB450\uC0AC\uB85C \uAC00\uC9C0\uB294 \uBB38\uC11C\uC5D0\uC11C\uB9CC \uAC80\uC0C9\uC744 \uC218\uD589\uD569\uB2C8\uB2E4. \uC608\uB97C \uB4E4\uC5B4 OPI \uBB38\uC11C\uC758 \uACBD\uC6B0 opi/\uB97C \uC785\uB825\uD569\uB2C8\uB2E4."
|
|
2547
|
+
),
|
|
2518
2548
|
query: z19.string().describe(`Node.js RegExp \uD615\uC2DD\uC758 \uBB38\uC790\uC5F4\uC744 \uC785\uB825\uD574\uC57C \uD558\uBA70, \uC601\uC5B4 \uC54C\uD30C\uBCB3 \uB300\uC18C\uBB38\uC790\uB294 \uAD6C\uBD84 \uC5C6\uC774 \uB9E4\uCE6D\uB429\uB2C8\uB2E4.
|
|
2519
2549
|
\uC808\uB300 query\uC5D0 \uACF5\uBC31\uC744 \uD3EC\uD568\uC2DC\uD0A4\uC9C0 \uB9C8\uC138\uC694. \uC5EC\uB7EC \uD0A4\uC6CC\uB4DC\uB97C \uD55C \uBC88\uC5D0 \uAC80\uC0C9\uD558\uACE0 \uC2F6\uB2E4\uBA74, \uACF5\uBC31 \uB300\uC2E0 | \uC5F0\uC0B0\uC790\uB97C \uC0AC\uC6A9\uD558\uC5EC \uAD6C\uBD84\uD569\uB2C8\uB2E4.
|
|
2520
2550
|
\uB2E8\uC5B4 \uAE00\uC790 \uC0AC\uC774\uC5D0 \uACF5\uBC31\uC774 \uC788\uB294 \uACBD\uC6B0\uB3C4 \uB9E4\uCE6D\uD558\uACE0 \uC2F6\uB2E4\uBA74, \uACF5\uBC31 \uB300\uC2E0 \\s*\uB97C \uC0AC\uC6A9\uD558\uC138\uC694.`),
|
|
2521
|
-
|
|
2551
|
+
contextSize: z19.number().default(0).describe(`0\uBCF4\uB2E4 \uD070 \uAC12\uC744 \uC124\uC815\uD560 \uACBD\uC6B0, \uAC80\uC0C9 \uACB0\uACFC\uC758 \uCEE8\uD14D\uC2A4\uD2B8 \uD06C\uAE30\uB85C, \uBB38\uC790 \uC218\uB97C \uAE30\uC900\uC73C\uB85C \uD569\uB2C8\uB2E4. 0 \uB610\uB294 50 \uC815\uB3C4\uB97C \uCD94\uCC9C\uD569\uB2C8\uB2E4.
|
|
2522
2552
|
query \uB9E4\uCE58\uAC00 \uBC1C\uACAC\uB41C \uC2DC\uC791 \uC778\uB371\uC2A4\uB97C idx\uB77C\uACE0 \uD560 \uB54C,
|
|
2523
|
-
max(0, idx -
|
|
2553
|
+
max(0, idx - contextSize)\uBD80\uD130 min(contentLength, idx + len(query) + contextSize) - 1\uAE4C\uC9C0\uC758 \uB0B4\uC6A9\uC744 \uBC18\uD658\uD569\uB2C8\uB2E4.
|
|
2524
2554
|
\uB2E8, \uC774\uC804 \uAC80\uC0C9\uACB0\uACFC\uC640 \uACB9\uCE58\uB294 \uCEE8\uD14D\uC2A4\uD2B8\uB294 \uBCD1\uD569\uB418\uC5B4 \uBC18\uD658\uB429\uB2C8\uB2E4.`),
|
|
2525
|
-
limit: z19.number().default(
|
|
2526
|
-
\uCD9C\uB825\uC774 \uC774 \uAE38\uC774\uB97C \uCD08\uACFC\uD558\uBA74 \uC798\uB9AC\uACE0 truncation \uBA54\uC2DC\uC9C0\uAC00 \uCD94\uAC00\uB429\uB2C8\uB2E4.`
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
\
|
|
2555
|
+
limit: z19.number().default(1e3).describe(
|
|
2556
|
+
`\uBC18\uD658\uD560 \uCD5C\uB300 \uBB38\uC790\uC5F4 \uAE38\uC774\uC785\uB2C8\uB2E4. \uCD9C\uB825\uC774 \uC774 \uAE38\uC774\uB97C \uCD08\uACFC\uD558\uBA74 \uC798\uB9AC\uACE0 truncation \uBA54\uC2DC\uC9C0\uAC00 \uCD94\uAC00\uB429\uB2C8\uB2E4.`
|
|
2557
|
+
),
|
|
2558
|
+
page: z19.number().default(0).describe(
|
|
2559
|
+
`\uACB0\uACFC \uBB38\uC790\uC5F4\uC758 \uD398\uC774\uC9C0\uB124\uC774\uC158\uC744 \uC704\uD55C \uC2DC\uC791 \uC778\uB371\uC2A4\uC785\uB2C8\uB2E4. \uD55C \uD398\uC774\uC9C0\uC758 \uAE00\uC790 \uC218\uB294 limit \uC785\uB2C8\uB2E4.`
|
|
2560
|
+
),
|
|
2561
|
+
showMetadata: z19.boolean().default(false).describe(
|
|
2562
|
+
"true\uC774\uBA74 \uBB38\uC11C\uC758 \uBA54\uD0C0\uB370\uC774\uD130(\uC81C\uBAA9, \uC124\uBA85, \uB300\uC0C1 \uBC84\uC804)\uC744 \uACB0\uACFC\uC5D0 \uD3EC\uD568\uD569\uB2C8\uB2E4."
|
|
2563
|
+
)
|
|
2530
2564
|
},
|
|
2531
2565
|
outputSchema: {
|
|
2532
2566
|
result: z19.string().describe(
|
|
2533
|
-
`\uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uB97C \uCC3E\uC73C\uBA74 \uD574\uB2F9 \uBB38\uC11C\uC758 \uACBD\uB85C\uC640 \uAE38\uC774, \
|
|
2567
|
+
`\uD3EC\uD2B8\uC6D0 \uBB38\uC11C\uB97C \uCC3E\uC73C\uBA74 \uD574\uB2F9 \uBB38\uC11C\uC758 \uACBD\uB85C\uC640 \uAE38\uC774, \uBA54\uD0C0\uB370\uC774\uD130, query\uAC00 \uB9E4\uCE6D\uB41C \uC8FC\uBCC0 \uCEE8\uD14D\uC2A4\uD2B8\uB97C \uBC18\uD658\uD569\uB2C8\uB2E4.`
|
|
2534
2568
|
)
|
|
2535
2569
|
}
|
|
2536
2570
|
};
|
|
2537
2571
|
function formatOccurrence(occurrence) {
|
|
2572
|
+
if (occurrence.context.length === 0)
|
|
2573
|
+
return `\`\`\`txt startIndex=${occurrence.startIndex} endIndex=${occurrence.endIndex}\`\`\`
|
|
2574
|
+
`;
|
|
2538
2575
|
return `\`\`\`txt startIndex=${occurrence.startIndex} endIndex=${occurrence.endIndex}
|
|
2539
2576
|
${occurrence.context}
|
|
2540
2577
|
\`\`\`
|
|
2541
2578
|
`;
|
|
2542
2579
|
}
|
|
2543
2580
|
function init13(documents) {
|
|
2544
|
-
return ({ query,
|
|
2581
|
+
return ({ paths, query, contextSize, page, limit, showMetadata }) => {
|
|
2545
2582
|
const { markdownDocs } = documents;
|
|
2546
2583
|
let occurrenceCount = 0;
|
|
2547
2584
|
let docCount = 0;
|
|
2548
2585
|
let result = "";
|
|
2586
|
+
const filteredDocs = paths == null ? markdownDocs : Object.fromEntries(
|
|
2587
|
+
Object.entries(markdownDocs).filter(
|
|
2588
|
+
([path]) => paths.some((searchPath) => path.startsWith(searchPath))
|
|
2589
|
+
)
|
|
2590
|
+
);
|
|
2549
2591
|
try {
|
|
2550
|
-
const bm25Scores = calculateBm25Scores(query,
|
|
2592
|
+
const bm25Scores = calculateBm25Scores(query, filteredDocs);
|
|
2551
2593
|
for (const [path, _score] of bm25Scores) {
|
|
2552
2594
|
const doc = markdownDocs[path];
|
|
2553
2595
|
const contentLen = doc.content.length;
|
|
2554
2596
|
const occurrences = [];
|
|
2555
2597
|
let lastContextEnd = 0;
|
|
2556
2598
|
if (doc.frontmatter && JSON.stringify(doc.frontmatter).match(new RegExp(query, "i"))) {
|
|
2557
|
-
lastContextEnd = Math.min(contentLen,
|
|
2599
|
+
lastContextEnd = Math.min(contentLen, contextSize);
|
|
2558
2600
|
occurrences.push({
|
|
2559
2601
|
startIndex: 0,
|
|
2560
2602
|
endIndex: lastContextEnd,
|
|
2561
|
-
context: doc.content.substring(0, lastContextEnd)
|
|
2603
|
+
context: contextSize === 0 ? "" : doc.content.substring(0, lastContextEnd)
|
|
2562
2604
|
});
|
|
2563
2605
|
}
|
|
2564
2606
|
const regex = new RegExp(query, "gi");
|
|
@@ -2570,23 +2612,20 @@ function init13(documents) {
|
|
|
2570
2612
|
}
|
|
2571
2613
|
const idx = match7.index;
|
|
2572
2614
|
const matchLen = match7[0].length;
|
|
2573
|
-
const contextStart = Math.max(0, idx -
|
|
2574
|
-
const contextEnd = Math.min(
|
|
2575
|
-
contentLen,
|
|
2576
|
-
idx + matchLen + context_size
|
|
2577
|
-
);
|
|
2615
|
+
const contextStart = Math.max(0, idx - contextSize);
|
|
2616
|
+
const contextEnd = Math.min(contentLen, idx + matchLen + contextSize);
|
|
2578
2617
|
if (contextStart < lastContextEnd) {
|
|
2579
2618
|
const newOccurrence = {
|
|
2580
2619
|
startIndex: occurrences[occurrences.length - 1].startIndex,
|
|
2581
2620
|
endIndex: contextEnd,
|
|
2582
|
-
context: doc.content.substring(
|
|
2621
|
+
context: contextSize === 0 ? "" : doc.content.substring(
|
|
2583
2622
|
occurrences[occurrences.length - 1].startIndex,
|
|
2584
2623
|
contextEnd
|
|
2585
2624
|
)
|
|
2586
2625
|
};
|
|
2587
2626
|
occurrences[occurrences.length - 1] = newOccurrence;
|
|
2588
2627
|
} else {
|
|
2589
|
-
const context = doc.content.substring(contextStart, contextEnd);
|
|
2628
|
+
const context = contextSize === 0 ? "" : doc.content.substring(contextStart, contextEnd);
|
|
2590
2629
|
occurrences.push({
|
|
2591
2630
|
startIndex: contextStart,
|
|
2592
2631
|
endIndex: contextEnd,
|
|
@@ -2598,9 +2637,11 @@ function init13(documents) {
|
|
|
2598
2637
|
if (occurrences.length > 0) {
|
|
2599
2638
|
docCount++;
|
|
2600
2639
|
occurrenceCount += occurrences.length;
|
|
2601
|
-
result +=
|
|
2602
|
-
result +=
|
|
2603
|
-
|
|
2640
|
+
result += doc.path;
|
|
2641
|
+
result += "\n";
|
|
2642
|
+
if (showMetadata) {
|
|
2643
|
+
result += formatDocumentMetadata(doc);
|
|
2644
|
+
}
|
|
2604
2645
|
for (const occurrence of occurrences) {
|
|
2605
2646
|
result += formatOccurrence(occurrence);
|
|
2606
2647
|
}
|
|
@@ -2621,48 +2662,45 @@ function init13(documents) {
|
|
|
2621
2662
|
let fullResult = `${docCount} documents and ${occurrenceCount} occurrences found with query '${query}'
|
|
2622
2663
|
|
|
2623
2664
|
${result}`;
|
|
2624
|
-
if (
|
|
2625
|
-
|
|
2665
|
+
if (page > 0) {
|
|
2666
|
+
const offset = page * limit;
|
|
2667
|
+
if (offset >= fullResult.length) {
|
|
2626
2668
|
return {
|
|
2627
2669
|
content: [
|
|
2628
2670
|
{
|
|
2629
2671
|
type: "text",
|
|
2630
|
-
text: `No more results. Total
|
|
2672
|
+
text: `No more results. Total page count: ${Math.ceil(fullResult.length / limit)}`
|
|
2631
2673
|
}
|
|
2632
2674
|
],
|
|
2633
2675
|
isError: true
|
|
2634
2676
|
};
|
|
2635
2677
|
}
|
|
2636
|
-
fullResult = fullResult.substring(
|
|
2678
|
+
fullResult = fullResult.substring(offset);
|
|
2637
2679
|
}
|
|
2638
2680
|
if (fullResult.length > limit) {
|
|
2639
2681
|
const truncationMsg = `
|
|
2640
2682
|
|
|
2641
|
-
... (output truncated due to length limit. Use
|
|
2642
|
-
const
|
|
2683
|
+
... (output truncated due to length limit. Use page: ${page + 1} for next page)`;
|
|
2684
|
+
const structuredContent = {
|
|
2643
2685
|
result: fullResult.substring(0, limit) + truncationMsg
|
|
2644
2686
|
};
|
|
2645
2687
|
return {
|
|
2646
2688
|
content: [
|
|
2647
2689
|
{
|
|
2648
2690
|
type: "text",
|
|
2649
|
-
text: JSON.stringify(
|
|
2691
|
+
text: JSON.stringify(structuredContent, null, 2)
|
|
2650
2692
|
}
|
|
2651
2693
|
],
|
|
2652
|
-
structuredContent
|
|
2694
|
+
structuredContent
|
|
2653
2695
|
};
|
|
2654
2696
|
}
|
|
2655
|
-
const structuredContent = {
|
|
2656
|
-
result: fullResult
|
|
2657
|
-
};
|
|
2658
2697
|
return {
|
|
2659
2698
|
content: [
|
|
2660
2699
|
{
|
|
2661
2700
|
type: "text",
|
|
2662
|
-
text:
|
|
2701
|
+
text: fullResult
|
|
2663
2702
|
}
|
|
2664
|
-
]
|
|
2665
|
-
structuredContent
|
|
2703
|
+
]
|
|
2666
2704
|
};
|
|
2667
2705
|
}
|
|
2668
2706
|
} catch (error) {
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: 파트너 정산 자동화 서비스 가이드 2
|
|
3
|
-
category: 관리자콘솔 (관리자콘솔 사용 가이드) > 파트너 정산 자동화 > 파트너 정산 자동화
|
|
4
|
-
seo:
|
|
5
|
-
title: 파트너 정산 자동화 가이드
|
|
6
|
-
description: >-
|
|
7
|
-
재무, 개발 공수를 획기적으로 줄여주는 포트원의 파트너정산 자동화 서비스를 소개합니다. 간단한 API 연동과 관리자 콘솔을 통해 고객사
|
|
8
|
-
자체 개발에 드는 많은 비용과 시간의 절감이 가능합니다.
|
|
9
|
-
keywords:
|
|
10
|
-
- 관리자콘솔
|
|
11
|
-
- 파트너정산자동화
|
|
12
|
-
- 파트너정산
|
|
13
|
-
tags:
|
|
14
|
-
- 공통
|
|
15
|
-
- 파트너 정산 자동화
|
|
16
|
-
pgCompanies:
|
|
17
|
-
- 공통
|
|
18
|
-
searchTags:
|
|
19
|
-
- 파트너계약
|
|
20
|
-
- 정산정책
|
|
21
|
-
- 할인수수료정책
|
|
22
|
-
- 할인수수료
|
|
23
|
-
- 수수료등록
|
|
24
|
-
- 추가수수료정책
|
|
25
|
-
- 수식관리
|
|
26
|
-
- 파트너관리
|
|
27
|
-
- 파트너추가
|
|
28
|
-
- 정산내역
|
|
29
|
-
- 할인분담금
|
|
30
|
-
- 할인정책
|
|
31
|
-
- 파트너분담률
|
|
32
|
-
- 하위정산
|
|
33
|
-
- 정산자동화
|
|
34
|
-
- pg지급이체
|
|
35
|
-
- 지급이체
|
|
36
|
-
- 매출정산자동화
|
|
37
|
-
- 파트너정산
|
|
38
|
-
- 파트너 정산
|
|
39
|
-
- 정산
|
|
40
|
-
- 파트너 정산 자동화
|
|
41
|
-
datetime: 2025-06-18T07:47:13.455Z
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
### **서비스 소개**
|
|
45
|
-
|
|
46
|
-
#### **1. 요약**
|
|
47
|
-
|
|
48
|
-
파트너 정산 자동화 서비스는 플랫폼, 마켓 플레이스, 커머스 사업을 위한 포트원만의 재무 서비스 모듈로 국내 최초로 개발되었습니다. 파트너에게 지급되어야 하는 정산 금액을 자동으로 계산하고 세금계산서, 송금(지급이체)까지 자동화함으로써 재무팀과, 운영팀, 개발팀 모두의 리소스를 획기적으로 절감할 수 있습니다. API 연동 및 포트원 관리자 콘솔을 통한 노코드 연동 모두 지원됩니다.
|
|
49
|
-
|
|
50
|
-
#### **2. 핵심 기능**
|
|
51
|
-
|
|
52
|
-
1. 개인 및 사업자 유형에 따라 다양한 정산 정책을 등록하고 관리할 수 있습니다.
|
|
53
|
-
2. 파트너를 대량으로 등록하고 손쉽게 관리할 수 있습니다.
|
|
54
|
-
3. 파트너별 정산 정책을 자동으로 매칭시켜서 정산 주기에 맞게 정산금을 자동으로 계산합니다.
|
|
55
|
-
4. 사업자 대상 세금계산서 역발행 요청 기능을 제공합니다.
|
|
56
|
-
5. 계산된 정산금을 클릭 한 번으로 송금 및 이체 처리할 수 있습니다.
|
|
57
|
-
6. 가상계좌의 입출금 내역을 실시간으로 확인할 수 있습니다.
|
|
58
|
-
|
|
59
|
-
#### **3. 용어 설명**
|
|
60
|
-
|
|
61
|
-
- 정산 서비스 이용에 참고하실 수 있는 [용어별 설명 가이드 보러가기↗](https://developers.portone.io/platform/guides/dictionary)를 안내드립니다.
|
|
62
|
-
|
|
63
|
-
### 상세 이용 가이드
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
#### 1. 정산정책관리
|
|
68
|
-
|
|
69
|
-
<Tag text="계약관리" />
|
|
70
|
-
|
|
71
|
-
**자동으로 정산데이터가 생성될 수 있도록 계약을 추가해주세요.**
|
|
72
|
-
|
|
73
|
-
- **중개수수료 설정**
|
|
74
|
-
- 정률 (%) / 정액 (₩) 선택하여 설정가능
|
|
75
|
-
- 부가세를 파트너에서 부담할지 설정가능
|
|
76
|
-
- **정산주기 설정**
|
|
77
|
-
- 지체일 : 매출 1일, 정산 2일
|
|
78
|
-
- 매출(결제)이 발생된 이후 홀드하고 있어야 하는 기간
|
|
79
|
-
- 정산일 주기 설정
|
|
80
|
-
- 매월 / 매주 / 매일 / 매년
|
|
81
|
-
- N일 정산
|
|
82
|
-
- **기준일 설정**
|
|
83
|
-
- 전 영업일 / 후 영업일 / 달력일 중 선택가능
|
|
84
|
-
- **아이디 생성 및 메모**
|
|
85
|
-
- 아이디 생성 : 설정하신 계약에 대한 아이디를 부여합니다. 원하는 아이디로 설정하거나, 난수의 식별번호로 생성하실 수도 있습니다.
|
|
86
|
-
- 메모 : 계약에 대한 메모 설정
|
|
87
|
-
|
|
88
|
-
<Tag text="할인 분담 정책" />
|
|
89
|
-
|
|
90
|
-
정산 처리 시 진행하고 있는 프로모션 할인 비율을 적용할 수 있습니다.
|
|
91
|
-
|
|
92
|
-
- 할인 정책 아이디 : 설정할 할인정책을 구분할 아이디를 설정해주세요.
|
|
93
|
-
- 파트너 분담률 : 포인트 및 쿠폰으로 인한 할인금액에 대해서 파트너가 부담하기로 한 비율입니다.
|
|
94
|
-
- 메모 등록
|
|
95
|
-
|
|
96
|
-
<Tag text="추가 수수료 정책" />
|
|
97
|
-
|
|
98
|
-
**정산 건에 추가 수수료가 적용될 경우 등록하신 아이디를 전달해주셔야 합니다**
|
|
99
|
-
|
|
100
|
-
- 추가 수수료 아이디 : 추가하실 수수료 정책을 구분할 아이디를 설정해주세요.
|
|
101
|
-
- 추가 수수료 정보 : 정률(%) / 정액(₩)
|
|
102
|
-
- 부가세 분담 주체 : 파트너 부담 or 우리 회사 부담
|
|
103
|
-
- 메모 등록
|
|
104
|
-
|
|
105
|
-
<Tag text="계산관리" />
|
|
106
|
-
|
|
107
|
-
**아래 수식은 API 호출을 통해서 사용이 가능합니다.**
|
|
108
|
-
|
|
109
|
-
- 플랫폼 중개 수수료 수식
|
|
110
|
-
- 사용가능 변수: 주문금액, 결제금액, 결제금액부가세, 결제금액부가세 부담금, 할인금액, 할인부담금, 정액(정액 플랫폼 중개 수수료), 정률(정률 플랫폼 중개 수수료)
|
|
111
|
-
- 할인 분담금 수식
|
|
112
|
-
- 사용가능 변수: 할인금액, 정률(할인 분담률)
|
|
113
|
-
- 추가 수수료 수식
|
|
114
|
-
- 사용가능 변수: 주문금액, 결제금액, 결제금액부가세, 결제금액부가세 부담금, 할인금액, 할인부담금, 플랫폼중개수수료, 플랫폼중개수수료부가세 부담금, 정액(정액 추가 수수료), 정률(정률 추가 수수료)
|
|
115
|
-
- 사용자 정의 수식
|
|
116
|
-
- 플랫폼 정책에 맞는 맞춤형 정산 수식 작성 가능
|
|
117
|
-
- 수식 테스트
|
|
118
|
-
- 실제 적용 전 예상 정산금액 미리 검증 가능
|
|
119
|
-
- 전체 수식 계산식
|
|
120
|
-
- 정산 금액 = 주문 금액 - 결제금액부가세 부담금 -중개 수수료- 중개수수료부가세 부담금 -추가 수수료 - 추가수수료부가세 부담금 - 할인 부담금
|
|
121
|
-
|
|
122
|
-
#### 2. 파트너 관리
|
|
123
|
-
|
|
124
|
-
**정산이 이루어질 파트너를 등록합니다.**
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
<Tag text="파트너 추가" />
|
|
129
|
-
|
|
130
|
-
파트너 추가 기능은 포트원 관리자콘솔에서 수동처리 및 API 호출로 가능합니다.
|
|
131
|
-
|
|
132
|
-
- 정산 대상 설정
|
|
133
|
-
- 사업자 정보 및 이름을 입력합니다.
|
|
134
|
-
- 원천징수 대상자/비대상자 유형을 선택합니다.
|
|
135
|
-
- 과세 유형을 설정합니다. (일반과세, 간이과세, 면세사업자)
|
|
136
|
-
- 계좌정보
|
|
137
|
-
- 정산데이터가 생성될 정산받을 대상의 계좌정보를 설정합니다.
|
|
138
|
-
- 이 때 1번에 등록한 계약 건과 연동합니다.
|
|
139
|
-
- 예금주 조회를 통한 계좌 유효성을 자동 검증합니다.
|
|
140
|
-
- 사업자 검증
|
|
141
|
-
- 휴폐업 상태를 자동 조회 할 수 있습니다.
|
|
142
|
-
- 국세청 연동
|
|
143
|
-
- 세금계산서 발행을 위한 국세청 연동 상태 관리 기능을 지원합니다.
|
|
144
|
-
- 국세청 연동 시 세금계산서 발행을 위해 파트너사 \[팝빌] 자동 회원가입을 진행합니다.
|
|
145
|
-
- 메모등록
|
|
146
|
-
- 파트너에 대한 메모를 입력합니다.
|
|
147
|
-
- 태그등록
|
|
148
|
-
- 우리 회사 내부적으로 쓰고 있는 규칙이 있다면 자유롭게 태그를 등록 그룹으로 만들어보세요. 이후에 필터 / 검색 시 활용할 수 있습니다.
|
|
149
|
-
- 아이디 생성
|
|
150
|
-
- 정산 api에 사용될 아이디를 발급합니다. 원하는 아이디로 설정하거나, 난수의 식별번호로 생성하실 수 있습니다.
|
|
151
|
-
- 일괄 등록 기능
|
|
152
|
-
- CSV 파일로 파트너를 대량등록 하실 수 있습니다.
|
|
153
|
-
- 사용자 정의 속성 관리
|
|
154
|
-
|
|
155
|
-
#### 3. 정산 상세 조회
|
|
156
|
-
|
|
157
|
-
- 정산 API를 호출하여 정산일에 맞게 생성된 주문 정산, 주문 취소 정산 내역을 조회할 수 있습니다.
|
|
158
|
-
- 수기로 정산 내역 조정이 필요한 경우 음수 정산 / 양수 정산 건을 생성하여 예외적인 정산 케이스를 관리할 수 있습니다.
|
|
159
|
-
- 정산 상세 내역을 CSV 파일로 다운로드하여 정산 명세서를 손쉽게 작성하고 관리할 수 있습니다.
|
|
160
|
-
- 수기 정산건 등록 시 즉시 정산내역 관리에 반영되어 실시간 확인이 가능합니다.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
#### 4. **정산 내역 관리하기**
|
|
165
|
-
|
|
166
|
-
- 정산 내역 관리는 1시간마다 배치를 통해 동기화됩니다. 등록한 정산 상세 내역 중 \[정산일]이 도래한 정산 건은 자동 취합되며, 정산 내역 관리 페이지에서 조회할 수 있습니다.
|
|
167
|
-
- 이미 생성된 정산 내역이 있더라도 API 혹은 콘솔의 수기 정산 기능으로 해당 정산일에 추가 정산 내역을 등록하면, 정산 금액은 합산됩니다.
|
|
168
|
-
- 다만 기존의 정산 건이 지급실패/지급보류 상태로 변경된 경우, 추가 정산 내역을 등록하더라도 정산 금액은 합산되지 않고 새로운 정산 건이 별도로 생성됩니다.
|
|
169
|
-
- 송금대행 일괄지급은 기존에 즉시 지급만 가능하였으나, 이번 업데이트로 즉시 지급과 예약지급을 선택 하여 지급을 실행할 수 있습니다. 내부 정책에 맞게 지급 일시를 유연하게 관리해보세요.
|
|
170
|
-
- 기본 통장메모를 일괄 설정하면 송금대행 일괄지급 시 자동으로 적용되어 반복 기입할 필요가 없습니다.
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
#### 5. **송금대행 일괄지급**
|
|
175
|
-
|
|
176
|
-
- \[정산내역 관리] 페이지에서 총 10개의 정산일자를 선택하여 원하는 정산내역을 선택하여 \[송금대행 일괄지급] 을 실행할 수 있습니다.
|
|
177
|
-
- 송금대행 일괄지급 서비스를 신청하는 경우, 전용 가상계좌가 부여됩니다.
|
|
178
|
-
- 예약지급과 즉시지급이 가능하며 즉시지급 선택 시 실시간으로 지급이 실행됩니다.
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
#### 6. **일괄지급 내역 관리**
|
|
183
|
-
|
|
184
|
-
- \[일괄지급 내역 관리]에서 일괄 지급 현황을 실시간으로 확인할 수 있습니다. 지급 오류를 방지하기 위해 지급은 시스템에서 차례로 진행되며, 2개 이상의 일괄지급을 동시에 진행할 수 없습니다.
|
|
185
|
-
- 정보 오기입 등의 사유로 송금대행 일괄 지급 중단이 필요하신 경우 \[중단] 버튼을 이용하여 즉시 지급을 중단할 수 있습니다. 지급중단 처리는 준비완료, 진행 중 상태일 때 가능합니다.
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
#### 7. **지급내역 관리**
|
|
190
|
-
|
|
191
|
-
- 지급 내역 관리 페이지에서 진행 중인 지급 현황을 확인할 수 있습니다.
|
|
192
|
-
- 지급이 실패한 경우, 실패 사유를 확인할 수 있습니다. 지급 실패 건에 대해 지급을 재시도하고자 하는 경우, \[정산 내역 관리] 페이지의 ‘지급실패’ 상태 탭에서 해당 지급 건을 확인한 뒤 새롭게 일괄지급을 실행할 수 있습니다.
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
#### **8. 세금계산서 역발행**
|
|
197
|
-
|
|
198
|
-
- 세금계산서 역발행 페이지에서 공급받는자가 공급자 대신 세금계산서를 작성하여 발행 요청할 수 있습니다.
|
|
199
|
-
- 공급자는 이메일로 발행 요청을 받은 후 세금계산서 내용을 확인하고 승인 또는 거부할 수 있습니다.
|
|
200
|
-
- 세금계산서를 단건으로 작성하거나 CSV 파일을 통해 일괄 등록할 수 있습니다. 이메일 재발송 기능을 통해 공급자가 이메일을 놓친 경우에도 다시 발행 요청을 보낼 수 있습니다.
|
|
201
|
-
|