ارسال صورت حساب
در پیامرسان گپ شما میتوانید برای اعضاء سرویس خود با استفاده از این متود صورتحساب ارسال کنید. پس از صدور، کاربر با کلیک بر روی دکمه پرداخت صورتحساب وارد صفحه کیف پول گپ شده و میتواند با استفاده از روشهای موجود نسب به پرداخت صورتحساب صادر شده اقدام نماید.
POST
https://api.gap.im/invoice
نام داده | نوع | الزامی | توضیحات |
---|---|---|---|
chat_id | integer | بلی | شناسه ایجاد شده برای کاربر که در هنگام عضویت در سرویس و یا ارسال پیام برای توسعه دهنده ارسال شده است. |
amount | integer | بلی | مقدار هزینه صورتحساب منتشر شده شما که کاربر باید پرداخت کند به ریال. |
description | string | بلی | توضیحات صورت حساب. |
- پس از ارسال صورتحساب، پیامرسان گپ در پاسخ درخواست شما یک id ارسال خواهد کرد که شما میبایست این مقدار را در بانک اطلاعاتی خود ذخیره کنید تا در صورت لزوم بتوانید از آن استفاده کنید.
- پس از انجام موفقیت آمیز پرداخت توسط کاربر، یک درخواست به سمت برنامه توسعه دهنده، توسط گپ ارسال خواهد شد که مقدار type آن برابر
invoiceCallback
و مقدار پارامتر id خواهد بود که توسعه دهنده به وسیله آن میتواند تراکنش مورد نظر خود را شناسایی و از طریق متود تایید صورتحساب آن را تایید کند.
200 Success Request
پارامتر | توضیحات |
---|---|
id | شناسه صورتحساب ارسالی شما. در واقع همان invoice_id میباشد که باید آن را جهت پیگیریهای بعدی حتما ذخیره کنید. |
Error 400 Bad Request
پارامتر | توضیحات |
---|---|
chat_id | داده ارسالی معتبر نمیباشد. |
amount | داده ارسالی معتبر نمیباشد. |
invoiceCallback
هنگامی که یک صورت حساب توسط کاربر با موفقیت پرداخت میشود، یک درخواست توسط گپ برای توسعه دهنده ارسال میشود که مقدار type آن برابر invoicecallback
و مقدار data بدین صورت میباشد.
[
"invoiceId":"5ehs534a74ns8a25732b9e9"
]
- توسعه دهنده میتواند با استفاده از مقدار
invoiceId
تراکنش را شناسایی کند.
تایید صورتحساب
پس از پرداخت موفق صورتحساب توسط کاربر، لازم است توسعه دهنده نسبت به تایید این صورتحساب اقدام نماید.
نکته مهم: در صورتی که صورتحساب طی مدت یک ساعت پس از پرداخت، تایید نشود، مبلغ به حساب کاربر برگشت داده میشود.
POST
https://api.gap.im/invoice/verify
نام داده | نوع | الزامی | توضیحات |
---|---|---|---|
chat_id | integer | بلی | شناسه ایجاد شده برای کاربر که در هنگام عضویت در سرویس و یا ارسال پیام برای توسعه دهنده ارسال شده است. |
ref_id | integer | بلی | invoice_id که در هنگام ارسال صورتحساب برای توسعه دهنده ارسال شده است. |
200 Success Request
پارامتر | توضیحات |
---|---|
amount | این مقدار مشخص کننده مبلغ صورتحساب است. |
status | مشخص کننده وضعیت صورتحساب است. که مقدار آن برابر است با یکی از مقادیر [error, verified] |
Error 400 Bad Request
پارامتر | توضیحات |
---|---|
chat_id | داده ارسالی معتبر نمیباشد. |
ref_id | داده ارسالی معتبر نمیباشد. |
استعلام صورتحساب
برای استعلام وضعیت صورتحسابی که قبلا برای کاربر ارسال کردهاید، میتوانید از این متود استفاده کنید.
POST
https://api.gap.im/invoice/inquiry
نام داده | نوع | الزامی | توضیحات |
---|---|---|---|
chat_id | integer | بلی | شناسه ایجاد شده برای کاربر که در هنگام عضویت در سرویس و یا ارسال پیام برای توسعه دهنده ارسال شده است. |
ref_id | integer | بلی | invoice_id که در هنگام ارسال صورتحساب برای توسعه دهنده ارسال شده است. |
200 Success Request
پارامتر | توضیحات |
---|---|
amount | این مقدار مشخص کننده مبلغ صورتحساب است. |
status | مشخص کننده وضعیت صورتحساب است. که یکی از حالتهای [error, verified] |
Error 400 Bad Request
پارامتر | توضیحات |
---|---|
chat_id | داده ارسالی معتبر نمیباشد. |
ref_id | داده ارسالی معتبر نمیباشد. |
پرداخت درون برنامه ای
پرداخت درون برنامهای نوع دیگری از پرداخت وجه توسط کاربران در گپ میباشد و روش استفاده از آن بدین صورت است که میتوان در هنگام ساخت Inline Button یک دکمه به شکل زیر تغریف کرد.
[
[
['text' => 'دونیت', 'amount' => 2000, 'currency' => 'IRR', 'ref_id' => 'XXXXXXX', 'desc' => 'توضیحات مربوط به پرداخت برای نمایش در لیست تراکنش ها'],
]
]
پارامتر | الزامی | توضیحات |
---|---|---|
text | بلی | مقدار قرار گرفته در این پارامتر در واقع متنی است که در داخل دکمه قرار میگیرد و کاربر آن را میبیند. |
amount | بلی | این مقدار به منظور گرفتن وجه از کاربر به شکل پرداخت درون برنامهای میباشد. |
currency | بلی | این مقدار مشخص کننده واحد پول است. که در حال حاضر میتواند برای پرداختهای ریالی مقدار IRR و پرداخت گپسی مقدار coin را دریافت کند. |
ref_id | بلی | یک رشته Base64 شامل حروف و ارقام میباشد که در واقع یک کد منحصر بفرد است که توسط توسعه دهنده ایجاد شده و برای شناسایی کاربر پس از انجام روال پرداخت استفاده میشود. پس از انجام پرداخت توسط کاربر و یا به وجود آمدن خطا در روال پرداخت، گپ یک درخواست به منظور اعلام نتیجه برای توسعه دهنده ارسال میکند که از نوع payCallback و شامل مقدار ref_id نیز میباشد. |
desc | خیر | توضیحات مربوط به پرداخت که برای نمایش در لیست تراکنشها استفاده میشود. |
- در مدل پرداخت درون برنامهای در صورتی که که کاربر روی دکمه مربوط به آن کلیک کند، پیغامی مبنی بر پرداخت مشاهده میکند که در صورت تایید آن بدون ارجاع به صفحه کیف پول گپ، در صورت کافی بودن موجودی، بلافاصله پرداخت انجام میشود.
payCallback
- هنگامی که یک صورت حساب از نوع پرداخت درون برنامهای توسط Inline Button برای کاربر ایجاد میشود و کاربر بروی آن کلیک میکند برای انجام روال پرداخت در صورت انجام موفقیتآمیز پرداخت و یا ایجاد خطا، یک درخواست توسط گپ برای توسعه دهنده ارسال میشود که مقدار type آن برابر
payCallback
و مقادیر آن بدین صورت میباشد.
[
ref_id: 'XXXXXXX', // کد منحصر بفردی که در زمان ایجاد دکمه inline Button توسط توسعه دهنده ایجاد میکند برای پیگیری روند پرداخت.
message_id: 'XXXXXXX', // شناسه پیام که کاربر بروی inline keyboard آن کلیک کرده است.
status: 'error', // وضغیت پرداخت صورتحساب
code: 1000,
]
- پارمتر code که از آن برای شناسایی بهتر پیام سرور به توسعه دهنده می توان استفاده کرد داری یکی از مقادیر زیر میباشد.
مقدار | توضیحات |
---|---|
1000 | موجودی کافی نیست. در هنگام ارسال این مقدار پارامتر دیگری هم ارسال می شود که نامش charge_url می باشد و مقدار آن یک url است که می توانید آن را به شکل inline keyboard و از طریق url برای کاربر ارسال کنید که کاربر با کلیک بروی آن میتواند کیف پول خود را شارژ کند. |
1001 | پارامتر انکد شده نا معتبر است. |
1002 | پارامتر ارسالی نامعتبر است. |
1003 | شناسه تکراری است. |
1004 | خطا در عملیات پرداخت از طریق کیف گپ لطفا دوباره امتحان نمایید. |
1005 | تراکنش پرداخت تایید نشده است. |
1006 | خطا در تایید تراکنش پرداخت. |
تایید پرداخت درون برنامهای
پس از پرداخت موفق توسط کاربر، لازم است توسعه دهنده نسبت به تایید این پرداخت اقدام نماید.
نکته مهم: در صورتی که صورتحساب طی مدت یک ساعت پس از پرداخت، توسط توسعه دهنده تایید نشود، مبلغ به حساب کاربر برگشت داده میشود.
POST
https://api.gap.im/payment/verify
نام داده | نوع | الزامی | توضیحات |
---|---|---|---|
chat_id | integer | بلی | شناسه ایجاد شده برای کاربر که در هنگام عضویت در سرویس و یا ارسال پیام برای توسعه دهنده ارسال شده است. |
ref_id | integer | بلی | ref_id که در هنگام ایجاد دکمه پرداخت توسط توسعه دهنده تولید شده است. |
200 Success Request
پارامتر | توضیحات |
---|---|
amount | این مقدار مشخص کننده مبلغ پرداخت است. |
status | مشخص کننده وضعیت پرداخت است. که مقدار آن برابر است با یکی از مقادیر [error, verified] |
Error 400 Bad Request
پارامتر | توضیحات |
---|---|
chat_id | داده ارسالی معتبر نمیباشد. |
ref_id | داده ارسالی معتبر نمیباشد. |
استعلام پرداخت درون برنامهای
برای استعلام وضعیت پرداخت درون برنامهای که قبلا برای کاربر ارسال کردهاید، میتوانید از این متود استفاده کنید.
POST
https://api.gap.im/payment/inquiry
نام داده | نوع | الزامی | توضیحات |
---|---|---|---|
chat_id | integer | بلی | شناسه ایجاد شده برای کاربر که در هنگام عضویت در سرویس و یا ارسال پیام برای توسعه دهنده ارسال شده است. |
ref_id | integer | بلی | ref_id که در هنگام ایجاد دکمه پرداخت توسط توسعه دهنده تولید شده است. |
200 Success Request
پارامتر | توضیحات |
---|---|
amount | این مقدار مشخص کننده مبلغ است. |
status | مشخص کننده وضعیت پرداخت است. که مقدار آن برابر است با یکی از مقادیر [error, verified] |
Error 400 Bad Request
پارامتر | توضیحات |
---|---|
chat_id | داده ارسالی معتبر نمیباشد. |
ref_id | داده ارسالی معتبر نمیباشد. |