가이드
Make
모든 Make 시나리오에 결제를: 결제된 청구서, 환불, 구독, 고객의 즉시 트리거, 청구서와 결제 링크를 만들고 찾는 모듈.
Perly Pay 앱이 내 결제를 Make로 가져옵니다. 결제된 청구서가 시트를 채우고, CRM을 업데이트하고, Discord 역할을 줄 수 있습니다. 폼이 청구서를 만들고 결제 페이지를 보낼 수 있습니다. 호스팅할 것도, 코드도 없습니다.
연결
- 1
키 받기
Perly Pay에서: Dashboard → Developers → API keys. 테스트 모드는
sk_test_…, 실제 돈은sk_live_…. - 2
시나리오에 Perly Pay 추가
앱은 Make 앱 목록에 올라가는 중입니다. 그때까지는 문의로 초대 링크를 요청하세요. 한 번 연 뒤 모듈을 추가할 때 Perly Pay를 검색하면 됩니다.
- 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
트리거
Perly Pay → Watch paid invoices. 웹훅을 추가하고, 시나리오를 한 번 실행한 뒤 테스트 청구서를 결제해 Make가 필드를 알게 하세요.
- 2
동작
Google Sheets → Add a Row, 날짜, 이메일, 금액, 코인 같은 열이 있는 시트에.
- 3
매핑
날짜 → Invoice: Paid at, 이메일 → Customer email, 금액 →
Total (cents) / 100, 코인 → Payment: Coin. 켜세요.
결제 → Discord 역할
Discord는 누가 결제했는지 알아야 합니다. 청구서를 만들 때 구매자의 Discord ID를 넣어 두고, 청구서가 결제되면 다시 읽으세요.
- 1
시나리오 1: 청구서
트리거: 이메일과 Discord ID를 받는 가입 폼. Perly Pay → Create an invoice, 메타데이터 키
discord_user_id, 값은 폼의 응답. 그다음 구매자에게 Payment page URL을 보내세요. - 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
역할 회수
구독이라면 Watch ended subscriptions로 같은 방식으로 역할을 뺍니다.
테스트
테스트 연결에서 청구서를 만들고(모듈이나 대시보드에서) 테스트 코인으로, 또는 청구서 ID로 API를 통해 결제하세요:
몇 초 안에 시나리오가 실행됩니다. History에서 모든 실행과 받은 내용을 볼 수 있습니다.
실제 결제
- Perly Pay에서 라이브 모드를 켜고 지갑의 공개 키를 연결하세요.
sk_live_…키로 연결을 추가하세요. 시나리오마다 그 연결로 트리거용 새 웹훅을 추가하고, 다른 Perly Pay 모듈도 그 연결로 옮기세요.- 작은 실제 청구서 하나를 결제하고 도착하는 걸 지켜보세요.