-
Notifications
You must be signed in to change notification settings - Fork 4
اتصال به پولکی
Mansour edited this page Aug 3, 2021
·
1 revision
ساختار پرداخت درون برنامهای به شکلی هست که برنامه شما باید مستقیما با برنامه بازار صحبت کند تا بتواند عملیات خرید و... را انجام دهد. برای صحبت کردن با بازار، ابتدا باید به بازار متصل شوید. برای انجام این کار ، در متد `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);
برای اتصال به بازار، باید از فانکشن 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}");
}
برای جلوگیری از مشکلاتی همچون `Memory Leak` این قطعه کد توصیه میشود :
void OnApplicationQuit()
{
payment.Disconnect();
}