소스링크 정산 연동 가이드

소스링크 서비스의 정산 데이터 확정을 위한 연동 가이드입니다. 웹 SDK와 MMP 연동 시 필요한 가이드입니다.

목차

  1. 정산 프로세스
  2. 정산 파일 업로드(시스템 연동)
  3. 정산 수동 전달 방식
  4. 주의사항


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_datetimeString주문/취소 일시 (UTC)2025-08-15 09:15:23
order_idString주문 IDORD_2025011500001
product_idString상품 IDA000000230208
product_order_amountInteger주문/취소 금액29600
product_order_quantityInteger주문/취소 수량1
order_confirmEnum정산 대상 여부 (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_confirmY 입력
전체 취소order_confirmN 입력
부분 취소원본 행을 복제하여 확정분(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_datetimeorder_idproduct_idproduct_order_amountproduct_order_quantityorder_confirm
2025-10-15 18:40:59ORD_003PRO_123900003

내부 확인으로 3개의 주문 중 1개는 확정, 2개는 취소 처리 후 예시는 아래와 같습니다.

order_confirm 항목에 Y(확정), N(취소) 로 구분합니다.

order_datetimeorder_idproduct_idproduct_order_amountproduct_order_quantityorder_confirm
2025-10-15 18:40:59ORD_003PRO_123300001Y
2025-10-16 18:40:59ORD_003PRO_123600002N

STEP 3: 검수 파일 제출

검수가 완료 후 엑셀 파일을 모비두에 전달합니다.

제출 전, 제출 전 체크리스트 를 반드시 확인해주세요.


4. 주의사항

필수 검증 항목

파일 포맷 (SFTP 연동)

  • 파일 인코딩은 UTF-8이어야 합니다.
  • 구분자는 Tab을 사용해야 합니다.
  • 헤더 순서는 고정 값으로 변경할 수 없습니다.

제출 전 체크 리스트

  • order_confirmY 또는 N (대소문자 정확히)로 구분합니다.
  • 부분 취소는 2개 행으로 분리해야 합니다.
  • '확정분 + 취소분= 원본 주문'과 같아야 합니다.

일반적인 오류

오류 유형원인결과
포맷 오류인코딩/구분자 불일치수집 실패
상태 코드 오류y, n, YES, NO정산 반영 제외
부분 취소 오류행 분리 없이 수량만 수정정산 집계 오류
수량 불일치확정분 + 취소분 ≠ 원본데이터 무결성 오류