Skip to content

اتصال به پولکی

Mansour edited this page Aug 3, 2021 · 1 revision

I. ساختن کلاس Payment :


ساختار پرداخت درون برنامه‌ای به شکلی هست که برنامه شما باید مستقیما با برنامه بازار صحبت کند تا بتواند عملیات خرید و... را انجام دهد. برای صحبت کردن با بازار، ابتدا باید به بازار متصل شوید. برای انجام این کار ، در متد `Start` یا `Awake` یک نمونه از کلاس `SecurityCheck` درست کنید:

SecurityCheck securityCheck = SecurityCheck.Enable("KEY");
به جای مقدار KEY باید از کلید برنامه خود استفاده کنید، برای دریافت کلید برنامه به پنل پیشخان مراجعه کنید و در صفحه اطلاعات برنامه، وارد تب «پرداخت درون برنامه‌ای» شوید و کلید را از آنجا کپی کنید و به جای مقدار KEY در نمونه کد بالا قرار دهید.


همچنین می‌توانید بدون استفاده از RSA و از طریق کد زیر یک نمونه از کلاس `SecurityCheck` درست کنید:

SecurityCheck securityCheck = SecurityCheck.Disable();

در مرحله بعد باید یک نمونه از کلاس `PaymentConfiguration` درست کنید و `localSecurityCheck` را به آن تزریق کنید :
PaymentConfiguration paymentConfiguration = new PaymentConfiguration(securityCheck);

و در آخرین مرحله باید یک نمونه از کلاس Payment درست کنید. کلاس Payment پل ارتباطی بین برنامه شما و بازار است و از این کلاس برای اتصال به بازار، خرید یک محصول و... می‌توانید استفاده کنید. در نهایت قطعه کد زیر برای ساخت Payment است.
private Payment payment;
SecurityCheck securityCheck = SecurityCheck.Enable("KEY");
PaymentConfiguration paymentConfiguration = new PaymentConfiguration(securityCheck);
payment = new Payment(paymentConfiguration);





II. اتصال به پولکی

برای اتصال به بازار، باید از فانکشن connect موجود در کلاس Payment استفاده کنید:

توجه داشته باشید، تمام API هایی که کار دریافت اطلاعات از پولکی را انجام می‌دهند، به دو صورت Async و Callback پیاده سازی شده‌اند. شما می‌توانید با توجه به نیاز خود از یکی از این روش‌ها استفاده کنید.

با استفاده از Async
var result = await payment.Connect();
Debug.Log($"{result.message}, {result.stackTrace}");
با استفاده از Callback
_ = payment.Connect(OnPaymentConnect);

void OnPaymentConnect(Result result)
{
    Debug.Log($"{result.message}, {result.stackTrace}");
}





III. بستن ارتباط با پولکی در صورت بستن بازی

برای جلوگیری از مشکلاتی همچون `Memory Leak` این قطعه کد توصیه می‌شود :
void OnApplicationQuit()
{
    payment.Disconnect();
}