본문으로

가이드

Make

모든 Make 시나리오에 결제를: 결제된 청구서, 환불, 구독, 고객의 즉시 트리거, 청구서와 결제 링크를 만들고 찾는 모듈.

Markdown으로 열기

Perly Pay 앱이 내 결제를 Make로 가져옵니다. 결제된 청구서가 시트를 채우고, CRM을 업데이트하고, Discord 역할을 줄 수 있습니다. 폼이 청구서를 만들고 결제 페이지를 보낼 수 있습니다. 호스팅할 것도, 코드도 없습니다.

테스트 키와 라이브 키는 두 개의 연결입니다. 테스트 연결의 시나리오는 테스트 결제만 봅니다.

연결

  1. 1

    키 받기

    Perly Pay에서: Dashboard → Developers → API keys. 테스트 모드는 sk_test_…, 실제 돈은 sk_live_….

  2. 2

    시나리오에 Perly Pay 추가

    앱은 Make 앱 목록에 올라가는 중입니다. 그때까지는 문의로 초대 링크를 요청하세요. 한 번 연 뒤 모듈을 추가할 때 Perly Pay를 검색하면 됩니다.

  3. 3

    연결

    연결을 Add하고 키를 붙여 넣으세요. 테스트와 라이브를 구별할 수 있게 이름을 붙이세요.

즉시 트리거

모듈시점이벤트
Watch paid invoices전액 결제, 송금자 검사 완료. 이용권을 주거나 상품을 보낼 때.invoice.fulfilled
Watch underpaid invoices구매자가 청구서보다 적게 보냄.invoice.underpaid
Watch opened refunds환불을 시작함.refund.requested
Watch confirmed refunds내가 보낸 환불이 네트워크에서 확정됨.refund.confirmed
Watch started subscriptions구독이 시작됨.subscription.created
Watch renewed subscriptions구독자가 다음 기간을 결제함.subscription.renewed
Watch ended subscriptions구독이 끝남. 이용권을 거둘 때.subscription.ended
Watch new customers새 구매자.customer.created

Make에서 트리거의 웹훅을 추가하면 Dashboard → Developers → Webhooks에 Make: Paid invoices 같은 웹훅이 나타나고, Make에서 지우면 사라집니다. 시나리오가 실행되기 전에 Make는 모든 전송을 내 키로 Perly Pay에서 받아 오고, Perly Pay는 전송마다 한 번만 내줍니다. Perly Pay가 보내지 않았거나 다시 보낸 요청은 아무것도 실행하지 않습니다. 웹훅 하나하나가 모드당 가질 수 있는 16개 중 하나입니다.

모든 트리거는 이벤트와 그 대상 객체 — 청구서, 환불, 구독, 고객 — 를 API에 있는 형태 그대로 넘깁니다. 통화 금액은 센트 단위입니다(total 4900은 49.00): 매핑에서 100으로 나누세요. 코인 금액은 코인의 최소 단위이며, 옆에 decimals가 있습니다.

모듈

모듈넣을 것받는 것
Create an invoice금액(예: 49.00), 설명. 선택으로 통화, 고객 이메일, 돌아갈 URL, 메타데이터구매자용 결제 페이지(Payment page URL)가 있는 청구서
Create a payment link가격, 또는 새 상품의 이름과 금액그 상품을 파는 페이지 — 어디든 공유하세요
Get an invoice청구서 ID상태, 도착한 금액, 결제 페이지
Search customers이메일, 또는 비워 두면 전체고객, 최신순
Make an API call/invoices 같은 경로, 메서드, 필요하면 JSON 본문API 응답 그대로. 다른 모듈이 하지 않는 모든 일에

레시피

결제 → Google Sheets의 행

  1. 1

    트리거

    Perly Pay → Watch paid invoices. 웹훅을 추가하고, 시나리오를 한 번 실행한 뒤 테스트 청구서를 결제해 Make가 필드를 알게 하세요.

  2. 2

    동작

    Google Sheets → Add a Row, 날짜, 이메일, 금액, 코인 같은 열이 있는 시트에.

  3. 3

    매핑

    날짜 → Invoice: Paid at, 이메일 → Customer email, 금액 → Total (cents) / 100, 코인 → Payment: Coin. 켜세요.

결제 → Discord 역할

Discord는 누가 결제했는지 알아야 합니다. 청구서를 만들 때 구매자의 Discord ID를 넣어 두고, 청구서가 결제되면 다시 읽으세요.

  1. 1

    시나리오 1: 청구서

    트리거: 이메일과 Discord ID를 받는 가입 폼. Perly Pay → Create an invoice, 메타데이터 키 discord_user_id, 값은 폼의 응답. 그다음 구매자에게 Payment page URL을 보내세요.

  2. 2

    시나리오 2: 역할

    Perly Pay → Watch paid invoices. Discord → Add a Role to a Member(또는 Discord로 Make an API call): 내 서버, 역할, 멤버 = Invoice: Metadata → discord_user_id.

  3. 3

    역할 회수

    구독이라면 Watch ended subscriptions로 같은 방식으로 역할을 뺍니다.

테스트

테스트 연결에서 청구서를 만들고(모듈이나 대시보드에서) 테스트 코인으로, 또는 청구서 ID로 API를 통해 결제하세요:

bash
curl -X POST https://pay.perly.io/api/v1/invoices/inv_…/simulate \
  -H "Authorization: Bearer $PERLY_PAY_SECRET_KEY" -H "Content-Type: application/json" -d '{}'

몇 초 안에 시나리오가 실행됩니다. History에서 모든 실행과 받은 내용을 볼 수 있습니다.

실제 결제

  • Perly Pay에서 라이브 모드를 켜고 지갑의 공개 키를 연결하세요.
  • sk_live_… 키로 연결을 추가하세요. 시나리오마다 그 연결로 트리거용 새 웹훅을 추가하고, 다른 Perly Pay 모듈도 그 연결로 옮기세요.
  • 작은 실제 청구서 하나를 결제하고 도착하는 걸 지켜보세요.