Commits

Anonymous committed d23470a Draft

mail.ru payments

Comments (0)

Files changed (3)

as3snapi-core/src/as3snapi/networks/mailru/ModuleMailru.as

 import as3snapi.base.features.asyncinit.IFeatureAsyncInit;
 import as3snapi.base.features.javascript.IFeatureJavaScript;
 import as3snapi.networks.mailru.features.IFeatureMailruApiCore;
+import as3snapi.networks.mailru.features.IFeatureMailruApiUi;
 import as3snapi.networks.mailru.impl.MailruApiImpl;
 import as3snapi.networks.mailru.impl.MailruState;
 import as3snapi.utils.bus.IMutableBus;
 
         var apiCore:MailruApiImpl = new MailruApiImpl(state, context, shortNetworkId);
         bus.addFeature(IFeatureMailruApiCore, apiCore);
+        bus.addFeature(IFeatureMailruApiUi, apiCore);
         SocialFeaturesInstallHelper.installBasicFeatures(bus, apiCore);
         bus.addFeature(IFeatureAsyncInit, apiCore);
     }

as3snapi-core/src/as3snapi/networks/mailru/features/IFeatureMailruApiUi.as

+package as3snapi.networks.mailru.features {
+/**
+ * Специфичное для mail.ru UI API
+ */
+public interface IFeatureMailruApiUi {
+    /**
+     * Показывает пользователю диалог оплаты.
+     * http://api.mail.ru/docs/reference/js/payments.showDialog/
+     *
+     * @param service_id
+     *     Идентификатор услуги (число), выбираемый по вашему усмотрению
+     *     Этот идентификатор понадобится вам в момент оказания услуги для определения
+     *     Для каждой конкретной услуги должен быть постоянным и не 0.
+     * @param service_name
+     *     Название услуги в именительном падеже (не более 40 символов).
+     *     Для каждой услуги нужно определить постоянное название, например:
+     *     "5 золотых", "бутылка вина", "Кожаная броня 2-ого уровня".
+     *     В окне оплаты услуги заголовок будет: "Купить: service_name".
+     *     Название приложения включать в название услуги не нужно.
+     * @param mailiki_price
+     *     Стоимость услуги в мэйликах.
+     *     Минимальное значение 1 мэйлик
+     */
+    function paymentsShowDialog(service_id:int, service_name:String, mailiki_price:int):void;
+}
+}

as3snapi-core/src/as3snapi/networks/mailru/impl/MailruApiImpl.as

 import as3snapi.networks.mailru.ConfigMailru;
 import as3snapi.networks.mailru.features.EventMailru;
 import as3snapi.networks.mailru.features.IFeatureMailruApiCore;
+import as3snapi.networks.mailru.features.IFeatureMailruApiUi;
 
 import flash.events.IEventDispatcher;
 import flash.utils.clearTimeout;
  * Реализация mail.ru API
  */
 public class MailruApiImpl implements IFeatureMailruApiCore,
+        IFeatureMailruApiUi,
         IFeatureNetworkId,
         IFeatureAppId,
         IFeatureUserId,
             }
         }
     }
+
+    public function paymentsShowDialog(service_id:int, service_name:String, mailiki_price:int):void {
+        js.call("mailru.app.payments.showDialog", {
+            service_id:service_id,
+            service_name:service_name,
+            mailiki_price:mailiki_price
+        });
+    }
 }
 }