소스링크 정산 연동 가이드
소스링크 서비스의 정산 데이터 확정을 위한 연동 가이드입니다. 웹 SDK와 MMP 연동 시 필요한 가이드입니다.
목차
1. 정산 프로세스
전체 흐름
[1단계] 모비두 → 고객사: 주문 ID 목록 제공
- SFTP 서버에 주문ID 목록 파일(payment_data_YYYYMM.txt) 업로드
[2단계] 고객사 → 모비두: 정산 파일 업로드
- SFTP 서버에서 주문ID 목록 파일 다운로드
- 주문ID 목록 파일의 주문ID를 기준으로 SFTP 서버에 정산 파일(billing_data_YYYYMM.txt) 업로드
- 아래 SFTP 접속 참고
[3단계] 모비두 정산 반영
- SFTP 서버에서 정산 데이터 파일 수집 및 정산 업데이트
일정 스케줄 예시
| 단계 | 담당 | 시점 | 비고 |
|---|---|---|---|
| 1단계 | 모비두 | 매월 5일 00:00 (KST) | 주문ID 파일 목록 업로드 |
| 2단계 | 고객사 | 정산 수집일 D-1 (KST) | 정산 파일 업로드 |
| 3단계 | 모비두 | 정산 수집일 | 정산 업데이트 |
정산 수집일은 고객사에 따라 변경이 가능합니다.
2. 정산 파일 업로드(시스템 연동)
- 고객사에서 개발해야 하는 정산 파일 업로드 과정을 설명합니다.
STEP 1 : SFTP 접속
- 계정 발급(ID/PW) : 모비두 담당자에게 요청
Host: sftp-partner.sauce.im
Port: 22
Protocol: SFTP
ID/PW: ***/***- 경로 규칙
- 주문 ID 목록 다운로드 : /payment-data/payment_data_YYYYMM.txt
- 정산 파일 업로드 : /billing-data/billing_data_YYYYMM.txt
STEP 2: 주문 ID 목록 다운로드
- 파일명 : payment_data_YYYYMM.txt
ex) payment-data/payment_data_202501.txt - 인코딩 : UTF-8
- 주문 ID만 포함된 텍스트 파일로 파일 형식은 아래와 같습니다.
ORD_2025011500001
ORD_2025011500002
ORD_2025011500003
...STEP 3: 정산 데이터 생성
- order_id 기준으로 주문 일시, 상품 ID, 금액, 수량 조회 항목을 조회하여 정산 데이터를 생성합니다.
- 파일명 : billing_data_YYYYMM.txt
- 인코딩 : UTF-8
- 구분자 : TSV(Tab separated
\t) - 헤더 순서는 아래와 같이 고정합니다.
order_datetime order_id product_id product_order_amount product_order_quantity order_confirm
데이터 스키마
| 컬럼 | 타입 | 설명 | 예시 |
|---|---|---|---|
order_datetime | String | 주문/취소 일시 (UTC) | 2025-08-15 09:15:23 |
order_id | String | 주문 ID | ORD_2025011500001 |
product_id | String | 상품 ID | A000000230208 |
product_order_amount | Integer | 주문/취소 금액 | 29600 |
product_order_quantity | Integer | 주문/취소 수량 | 1 |
order_confirm | Enum | 정산 대상 여부 (Y / N) | Y |
-
order_datetime은 항상 UTC 기준으로 작성해야 합니다. 내부 주문 생성 시각이 KST(UTC+9)라면, 정산 파일 생성 시 UTC로 변환하여 입력합니다.
ex) KST 2025-08-15 18:15:23 → UTC 2025-08-15 09:15:23
주문 상태별 처리 규칙
| 주문 상태 | 처리방 |
|---|---|
| 정상 확정 | order_confirm에 Y 입력 |
| 전체 취소 | order_confirm에 N 입력 |
| 부분 취소 | 원본 행을 복제하여 확정분(Y), 취소분(N) 두 행 생성 |
-
부분 취소가 발생하면 동일한 order_id를 가진 여러 행이 생성됩니다.
-
취소 금액과 수량은 양수로만 입력하며, 음수 (-) 값을 사용하지 않습니다.
-
부분 취소의 총합이 원본과 일치하도록 분리합니다.
ex) 원본: 3개(총 90,000원) / 확정 1개 + 취소 2개 → 금액 및 수량 정확히 분배
데이터 작성 예시
- 정상 주문(Y) :
order_datetime order_id product_id product_order_amount product_order_quantity order_confirm
2025-08-15 09:15:23 ORD_001 A000000230208 29600 1 Y- 전체 취소(N) :
order_datetime order_id product_id product_order_amount product_order_quantity order_confirm
2025-08-15 10:30:45 ORD_002 A000000230208 20000 1 N- 부분 취소 (3개 주문 중 1개 확정, 2개 취소) :
order_datetime order_id product_id product_order_amount product_order_quantity order_confirm
2025-08-15 11:45:12 ORD_003 A000000230208 30000 1 Y
2025-08-15 11:45:12 ORD_003 A000000230208 60000 2 N샘플 데이터 예시
order_datetime order_id product_id product_order_amount product_order_quantity order_confirm
2025-08-15 09:15:23 ORD_001 A000000230208 29600 1 Y
2025-08-15 10:30:45 ORD_002 A000000230208 20000 1 N
2025-08-15 11:45:12 ORD_003 A000000230208 30000 1 Y
2025-08-15 11:55:12 ORD_003 A000000230208 60000 2 N파일 생성 후 업로드 경로로 업로드합니다.
3. 정산 수동 전달 방식
SFTP 연동이 어려운 경우에는 엑셀 기반으로 진행할 수 있습니다.
STEP 1: 엑셀 파일 수령
정산 기간이 되면 모비두로부터 다음 정보가 포함된 엑셀 파일을 전달 받습니다.
| 컬럼 | 상태 |
|---|---|
| order_datetime | 부분 취소 발생시 취소일시로 입력 필요 |
| order_id | 입력됨 |
| product_id | 입력됨 |
| product_order_amount | 입력됨 |
| product_order_quantity | 입력됨 |
| order_confirm | 입력 필요 |
STEP 2: 주문 상태 입력
내부 시스템을 확인하여 각 주문의 order_confirm 값을 입력합니다.
주문 상태별 처리 규칙 를 참고합니다.
부분 취소 처리 예시
원본 데이터의 예시입니다.
| order_datetime | order_id | product_id | product_order_amount | product_order_quantity | order_confirm |
|---|---|---|---|---|---|
| 2025-10-15 18:40:59 | ORD_003 | PRO_123 | 90000 | 3 |
내부 확인으로 3개의 주문 중 1개는 확정, 2개는 취소 처리 후 예시는 아래와 같습니다.
order_confirm 항목에 Y(확정), N(취소) 로 구분합니다.
| order_datetime | order_id | product_id | product_order_amount | product_order_quantity | order_confirm |
|---|---|---|---|---|---|
| 2025-10-15 18:40:59 | ORD_003 | PRO_123 | 30000 | 1 | Y |
| 2025-10-16 18:40:59 | ORD_003 | PRO_123 | 60000 | 2 | N |
STEP 3: 검수 파일 제출
검수가 완료 후 엑셀 파일을 모비두에 전달합니다.
제출 전, 제출 전 체크리스트 를 반드시 확인해주세요.
4. 주의사항
필수 검증 항목
파일 포맷 (SFTP 연동)
- 파일 인코딩은 UTF-8이어야 합니다.
- 구분자는 Tab을 사용해야 합니다.
- 헤더 순서는 고정 값으로 변경할 수 없습니다.
제출 전 체크 리스트
-
order_confirm는Y또는N(대소문자 정확히)로 구분합니다. - 부분 취소는 2개 행으로 분리해야 합니다.
- '확정분 + 취소분= 원본 주문'과 같아야 합니다.
일반적인 오류
| 오류 유형 | 원인 | 결과 |
|---|---|---|
| 포맷 오류 | 인코딩/구분자 불일치 | 수집 실패 |
| 상태 코드 오류 | y, n, YES, NO 등 | 정산 반영 제외 |
| 부분 취소 오류 | 행 분리 없이 수량만 수정 | 정산 집계 오류 |
| 수량 불일치 | 확정분 + 취소분 ≠ 원본 | 데이터 무결성 오류 |
Updated about 2 months ago