API/Autodoc/Files/PaymentExceptionConverter.cs.md
Namespaces
| Name |
|---|
Classes
| Name | |
|---|---|
| class | RuStore::PayClient::Internal::DataConverter |
Source code
using RuStore.Internal;
using UnityEngine;
namespace RuStore.PayClient.Internal {
public static partial class DataConverter {
public static RuStorePaymentException ConvertExceptionClasses(AndroidJavaObject obj) {
var resultType = "";
if (obj != null) {
using (var javaClass = obj.Call<AndroidJavaObject>("getClass")) {
var className = javaClass.Call<string>("getName").Split('$');
resultType = className[className.Length - 1];
}
}
switch (resultType) {
case "ApplicationSchemeWasNotProvided":
return ConvertApplicationSchemeWasNotProvided(obj);
case "EmptyPaymentTokenException":
return ConvertEmptyPaymentTokenException(obj);
case "ProductPurchaseCancelled":
return ConvertProductPurchaseCancelled(obj);
case "ProductPurchaseException":
return ConvertProductPurchaseException(obj);
case "RuStorePayClientAlreadyExist":
return ConvertRuStorePayClientAlreadyExist(obj);
case "RuStorePayClientNotCreated":
return ConvertRuStorePayClientNotCreated(obj);
case "RuStorePayInvalidActivePurchase":
return ConvertRuStorePayInvalidActivePurchase(obj);
case "RuStorePayInvalidConsoleAppId":
return ConvertRuStorePayInvalidConsoleAppId(obj);
case "RuStorePaySignatureException":
return ConvertRuStorePaySignatureException(obj);
case "RuStorePaymentCommonException":
return ConvertRuStorePaymentCommonException(obj);
case "RuStorePaymentNetworkException":
return ConvertRuStorePaymentNetworkException(obj);
default:
return ConvertRuStorePaymentException(obj);
}
}
public static RuStorePaymentException ConvertRuStorePaymentException(AndroidJavaObject obj) {
var (name, message, cause) = ExtractNameMessageCause(obj);
return new RuStorePaymentException(name, message, cause);
}
public static RuStorePaymentException.ApplicationSchemeWasNotProvided ConvertApplicationSchemeWasNotProvided(AndroidJavaObject obj) {
var (name, message, cause) = ExtractNameMessageCause(obj);
return new RuStorePaymentException.ApplicationSchemeWasNotProvided(name, message, cause);
}
public static RuStorePaymentException.EmptyPaymentTokenException ConvertEmptyPaymentTokenException(AndroidJavaObject obj) {
var (name, message, cause) = ExtractNameMessageCause(obj);
return new RuStorePaymentException.EmptyPaymentTokenException(name, message, cause);
}
public static RuStorePaymentException.ProductPurchaseCancelled ConvertProductPurchaseCancelled(AndroidJavaObject obj) {
var (name, message, cause) = ExtractNameMessageCause(obj);
var productType = ConvertEnum<ProductType>(obj.Get<AndroidJavaObject>("productType"));
var purchaseId = obj.Get<AndroidJavaObject>("purchaseId")?.Get<string>("value");
var purchaseType = ConvertEnum<PurchaseType>(obj.Get<AndroidJavaObject>("purchaseType"));
return new RuStorePaymentException.ProductPurchaseCancelled(
name,
message,
cause,
productType,
purchaseId != null ? new PurchaseId(purchaseId) : null,
purchaseType
);
}
public static RuStorePaymentException.ProductPurchaseException ConvertProductPurchaseException(AndroidJavaObject obj) {
var (name, message, cause) = ExtractNameMessageCause(obj);
var invoiceId = obj.Get<AndroidJavaObject>("invoiceId")?.Get<string>("value");
var orderId = obj.Get<AndroidJavaObject>("orderId")?.Get<string>("value");
var productId = obj.Get<AndroidJavaObject>("productId")?.Get<string>("value");
var productType = ConvertEnum<ProductType>(obj.Get<AndroidJavaObject>("productType"));
var purchaseId = obj.Get<AndroidJavaObject>("purchaseId")?.Get<string>("value");
var purchaseType = ConvertEnum<PurchaseType>(obj.Get<AndroidJavaObject>("purchaseType"));
var quantity = obj.Get<AndroidJavaObject>("quantity")?.Get<int>("value");
var sandbox = obj.Get<AndroidJavaObject>("sandbox")?.Call<bool>("booleanValue");
return new RuStorePaymentException.ProductPurchaseException(
name,
message,
cause,
invoiceId != null ? new InvoiceId(invoiceId) : null,
orderId != null ? new OrderId(orderId) : null,
productId != null ? new ProductId(productId) : null,
productType,
purchaseId != null ? new PurchaseId(purchaseId) : null,
purchaseType,
quantity != null ? new Quantity((int)quantity) : null,
sandbox != null ? (bool)sandbox : null
);
}
public static RuStorePaymentException.RuStorePayClientAlreadyExist ConvertRuStorePayClientAlreadyExist(AndroidJavaObject obj) {
var (name, message, cause) = ExtractNameMessageCause(obj);
return new RuStorePaymentException.RuStorePayClientAlreadyExist(name, message, cause);
}
public static RuStorePaymentException.RuStorePayClientNotCreated ConvertRuStorePayClientNotCreated(AndroidJavaObject obj) {
var (name, message, cause) = ExtractNameMessageCause(obj);
return new RuStorePaymentException.RuStorePayClientNotCreated(name, message, cause);
}
public static RuStorePaymentException.RuStorePayInvalidActivePurchase ConvertRuStorePayInvalidActivePurchase(AndroidJavaObject obj) {
var (name, message, cause) = ExtractNameMessageCause(obj);
return new RuStorePaymentException.RuStorePayInvalidActivePurchase(name, message, cause);
}
public static RuStorePaymentException.RuStorePayInvalidConsoleAppId ConvertRuStorePayInvalidConsoleAppId(AndroidJavaObject obj) {
var (name, message, cause) = ExtractNameMessageCause(obj);
return new RuStorePaymentException.RuStorePayInvalidConsoleAppId(name, message, cause);
}
public static RuStorePaymentException.RuStorePaySignatureException ConvertRuStorePaySignatureException(AndroidJavaObject obj) {
var (name, message, cause) = ExtractNameMessageCause(obj);
return new RuStorePaymentException.RuStorePaySignatureException(name, message, cause);
}
public static RuStorePaymentException.RuStorePaymentCommonException ConvertRuStorePaymentCommonException(AndroidJavaObject obj) {
var (name, message, cause) = ExtractNameMessageCause(obj);
return new RuStorePaymentException.RuStorePaymentCommonException(name, message, cause);
}
public static RuStorePaymentException.RuStorePaymentNetworkException ConvertRuStorePaymentNetworkException(AndroidJavaObject obj) {
var code = obj.Get<string>("code");
var id = obj.Get<string>("id");
var (name, message, cause) = ExtractNameMessageCause(obj);
return new RuStorePaymentException.RuStorePaymentNetworkException(code, id, name, message, cause);
}
private static (string name, string message, RuStoreError cause) ExtractNameMessageCause(AndroidJavaObject obj) {
var errorJavaClass = obj.Call<AndroidJavaObject>("getClass");
var name = errorJavaClass.Call<string>("getSimpleName");
var message = obj.Call<string>("getMessage");
var causeObject = obj.Get<AndroidJavaObject>("cause");
RuStoreError cause = causeObject != null
? ErrorDataConverter.ConvertError(causeObject)
: null;
return (name, message, cause);
}
}
}
- Страницы
- AmountLabel.cs.en
- AmountLabel.cs
- AppUserEmail.cs.en
- AppUserEmail.cs
- AppUserId.cs.en
- AppUserId.cs
- ApplicationPurchaseStatus.cs.en
- ApplicationPurchaseStatus.cs
- BaseFields.cs.en
- BaseFields.cs
- BaseValue.cs.en
- BaseValue.cs
- Callbacks.en
- Callbacks
- CancelTwoStepPurchase.cs.en
- CancelTwoStepPurchase.cs
- CancelTwoStepPurchaseResponseListener.cs.en
- CancelTwoStepPurchaseResponseListener.cs
- ConfirmTwoStepPurchase.cs.en
- ConfirmTwoStepPurchase.cs
- ConfirmTwoStepPurchaseResponseListener.cs.en
- ConfirmTwoStepPurchaseResponseListener.cs
- Currency.cs.en
- Currency.cs
- Data.en
- Data
- DataConverter.cs.en
- DataConverter.cs
- Description.cs.en
- Description.cs
- DeveloperPayload.cs.en
- DeveloperPayload.cs
- GetProducts.cs.en
- GetProducts.cs
- GetPurchase.cs.en
- GetPurchase.cs
- GetPurchaseAvailability.cs.en
- GetPurchaseAvailability.cs
- GetPurchases.cs.en
- GetPurchases.cs
- GetPurchases_with_params.cs.en
- GetPurchases_with_params.cs
- GetUserAuthorizationStatus.cs.en
- GetUserAuthorizationStatus.cs
- IPurchase.cs.en
- IPurchase.cs
- IPurchaseStatus.cs.en
- IPurchaseStatus.cs
- InvoiceId.cs.en
- InvoiceId.cs
- IsRuStoreInstalled.cs.en
- IsRuStoreInstalled.cs
- Java.en
- Java
- Model.en
- Model
- OrderId.cs.en
- OrderId.cs
- PaymentExceptionConverter.cs.en
- PaymentExceptionConverter.cs
- PreferredPurchaseType.cs.en
- PreferredPurchaseType.cs
- Price.cs.en
- Price.cs
- Product.cs.en
- Product.cs
- ProductId.cs.en
- ProductId.cs
- ProductPurchase.cs.en
- ProductPurchase.cs
- ProductPurchaseParams.cs.en
- ProductPurchaseParams.cs
- ProductPurchaseResult.cs.en
- ProductPurchaseResult.cs
- ProductPurchaseResultListener.cs.en
- ProductPurchaseResultListener.cs
- ProductPurchaseStatus.cs.en
- ProductPurchaseStatus.cs
- ProductType.cs.en
- ProductType.cs
- ProductsResponseListener.cs.en
- ProductsResponseListener.cs
- Purchase.cs.en
- Purchase.cs
- PurchaseAvailabilityListener.cs.en
- PurchaseAvailabilityListener.cs
- PurchaseAvailabilityResult.cs.en
- PurchaseAvailabilityResult.cs
- PurchaseEventListener.cs.en
- PurchaseEventListener.cs
- PurchaseId.cs.en
- PurchaseId.cs
- PurchaseResponseListener.cs.en
- PurchaseResponseListener.cs
- PurchaseTwoStep.cs.en
- PurchaseTwoStep.cs
- PurchaseTwoStep_with_theme.cs.en
- PurchaseTwoStep_with_theme.cs
- PurchaseType.cs.en
- PurchaseType.cs
- Purchase_with_theme.cs.en
- Purchase_with_theme.cs
- PurchasesResponseListener.cs.en
- PurchasesResponseListener.cs
- Quantity.cs.en
- Quantity.cs
- RuStoreDeeplinkActivityDefault.java.en
- RuStoreDeeplinkActivityDefault.java
- RuStorePayClient.cs.en
- RuStorePayClient.cs
- RuStorePayClient_Instance.cs.en
- RuStorePayClient_Instance.cs
- Runtime.en
- Runtime
- RustorePaymentException.cs.en
- RustorePaymentException.cs
- SdkTheme.cs.en
- SdkTheme.cs
- SubscriptionInfo.cs.en
- SubscriptionInfo.cs
- SubscriptionPeriod.cs.en
- SubscriptionPeriod.cs
- SubscriptionPurchase.cs.en
- SubscriptionPurchase.cs
- SubscriptionPurchaseStatus.cs.en
- SubscriptionPurchaseStatus.cs
- SubscriptionToken.cs.en
- SubscriptionToken.cs
- Title.cs.en
- Title.cs
- Url.cs.en
- Url.cs
- UserAuthorizationStatus.cs.en
- UserAuthorizationStatus.cs
- UserAuthorizationStatusListener.cs.en
- UserAuthorizationStatusListener.cs
- docs.en
- docs
- examples.en
- examples
- ru.rustore.pay.en
- ru.rustore.pay
- AmountLabel.cs.en
- AmountLabel.cs
- AppUserEmail.cs.en
- AppUserEmail.cs
- AppUserId.cs.en
- AppUserId.cs
- ApplicationPurchaseStatus.cs.en
- ApplicationPurchaseStatus.cs
- BaseFields.cs.en
- BaseFields.cs
- BaseValue.cs.en
- BaseValue.cs
- Callbacks.en
- Callbacks
- CancelTwoStepPurchase.cs.en
- CancelTwoStepPurchase.cs
- CancelTwoStepPurchaseResponseListener.cs.en
- CancelTwoStepPurchaseResponseListener.cs
- ConfirmTwoStepPurchase.cs.en
- ConfirmTwoStepPurchase.cs
- ConfirmTwoStepPurchaseResponseListener.cs.en
- ConfirmTwoStepPurchaseResponseListener.cs
- Currency.cs.en
- Currency.cs
- Data.en
- Data
- DataConverter.cs.en
- DataConverter.cs
- Description.cs.en
- Description.cs
- DeveloperPayload.cs.en
- DeveloperPayload.cs
- GetProducts.cs.en
- GetProducts.cs
- GetPurchase.cs.en
- GetPurchase.cs
- GetPurchaseAvailability.cs.en
- GetPurchaseAvailability.cs
- GetPurchases.cs.en
- GetPurchases.cs
- GetPurchases_with_params.cs.en
- GetPurchases_with_params.cs
- GetUserAuthorizationStatus.cs.en
- GetUserAuthorizationStatus.cs
- IPurchase.cs.en
- IPurchase.cs
- IPurchaseStatus.cs.en
- IPurchaseStatus.cs
- InvoiceId.cs.en
- InvoiceId.cs
- IsRuStoreInstalled.cs.en
- IsRuStoreInstalled.cs
- Java.en
- Java
- Model.en
- Model
- OrderId.cs.en
- OrderId.cs
- PaymentExceptionConverter.cs.en
- PaymentExceptionConverter.cs
- PreferredPurchaseType.cs.en
- PreferredPurchaseType.cs
- Price.cs.en
- Price.cs
- Product.cs.en
- Product.cs
- ProductId.cs.en
- ProductId.cs
- ProductPurchase.cs.en
- ProductPurchase.cs
- ProductPurchaseParams.cs.en
- ProductPurchaseParams.cs
- ProductPurchaseResult.cs.en
- ProductPurchaseResult.cs
- ProductPurchaseResultListener.cs.en
- ProductPurchaseResultListener.cs
- ProductPurchaseStatus.cs.en
- ProductPurchaseStatus.cs
- ProductType.cs.en
- ProductType.cs
- ProductsResponseListener.cs.en
- ProductsResponseListener.cs
- Purchase.cs.en
- Purchase.cs
- PurchaseAvailabilityListener.cs.en
- PurchaseAvailabilityListener.cs
- PurchaseAvailabilityResult.cs.en
- PurchaseAvailabilityResult.cs
- PurchaseEventListener.cs.en
- PurchaseEventListener.cs
- PurchaseId.cs.en
- PurchaseId.cs
- PurchaseResponseListener.cs.en
- PurchaseResponseListener.cs
- PurchaseTwoStep.cs.en
- PurchaseTwoStep.cs
- PurchaseTwoStep_with_theme.cs.en
- PurchaseTwoStep_with_theme.cs
- PurchaseType.cs.en
- PurchaseType.cs
- Purchase_with_theme.cs.en
- Purchase_with_theme.cs
- PurchasesResponseListener.cs.en
- PurchasesResponseListener.cs
- Quantity.cs.en
- Quantity.cs
- RuStoreDeeplinkActivityDefault.java.en
- RuStoreDeeplinkActivityDefault.java
- RuStorePayClient.cs.en
- RuStorePayClient.cs
- RuStorePayClient_Instance.cs.en
- RuStorePayClient_Instance.cs
- Runtime.en
- Runtime
- RustorePaymentException.cs.en
- RustorePaymentException.cs
- SdkTheme.cs.en
- SdkTheme.cs
- SubscriptionInfo.cs.en
- SubscriptionInfo.cs
- SubscriptionPeriod.cs.en
- SubscriptionPeriod.cs
- SubscriptionPurchase.cs.en
- SubscriptionPurchase.cs
- SubscriptionPurchaseStatus.cs.en
- SubscriptionPurchaseStatus.cs
- SubscriptionToken.cs.en
- SubscriptionToken.cs
- Title.cs.en
- Title.cs
- Url.cs.en
- Url.cs
- UserAuthorizationStatus.cs.en
- UserAuthorizationStatus.cs
- UserAuthorizationStatusListener.cs.en
- UserAuthorizationStatusListener.cs
- docs.en
- docs
- examples.en
- examples
- ru.rustore.pay.en
- ru.rustore.pay