if (FGamePotSDKPluginModule::IsGamePotSdkAvailable())
TArray<FNPurchaseItem> itemList = FGamePotSDKPluginModule::GetSharedGamePotSdk()->getPurchaseItems();
USTRUCT()
struct FNPurchaseItem
{
UPROPERTY()
FString productId; // 商品ID
UPROPERTY()
FString type; // 商品类型。固定为"inapp"
UPROPERTY()
FString price; // 价格Google商店:$0.99,其他商店:0.99
UPROPERTY()
FString price_amount;
UPROPERTY()
FString price_amount_micros; // (显示于UI时推荐)货币与价格合并的值。ONE Store不会传输货币单位。例如)$0.99
UPROPERTY()
FString price_currency_code; // 货币代码 例如KRW、USD
UPROPERTY()
FString price_with_currency;
UPROPERTY()
FString title; // 商品名称
UPROPERTY()
FString description; // 商品描述
}
// productId:商店中添加的商品ID
// uniqueId:单独管理的发票号
// serverId:付费角色的服务器ID
// playerId:付费角色的角色ID
// etc :付费角色的其他信息
if (FGamePotSDKPluginModule::IsGamePotSdkAvailable())
FGamePotSDKPluginModule::GetSharedGamePotSdk()->purchase(FString productId, FString uniqueId, FString serverId, FString playerId, FString etc);
/// 应用内支付成功
void ASampleGameModeBase::OnPurchaseSuccess(FNPurchaseInfo NPurchaseInfo)
{
}
/// 取消应用内支付
void ASampleGameModeBase::OnPurchaseCancel()
{
}
/// 应用内支付失败
void ASampleGameModeBase::OnPurchaseFailure(FNError NError)
{
// 请使用NError.message显示错误消息。
}
USTRUCT()
struct FNPurchaseInfo
{
UPROPERTY()
FString price; // 付费道具的价格
UPROPERTY()
FString productId; // 付费道具的ID
UPROPERTY()
FString currency; // 支付价格货币(KRW/USD)
UPROPERTY()
FString orderId; // 商店的Order ID
UPROPERTY()
FString productName; // 付费道具的名称
UPROPERTY()
FString gamepotOrderId; // GAMEPOT生成的Order ID
UPROPERTY()
FString uniqueId; // 由开发商单独管理的发票ID
UPROPERTY()
FString serverId; // 付费角色的服务器ID
UPROPERTY()
FString playerId; // 付费角色的角色ID
UPROPERTY()
FString etc; // 进行支付的角色的其他信息
UPROPERTY()
FString signature; // 商店签名
UPROPERTY()
FString originalJSONData; // 发票数据
}
(参考) 关联My Card所需的FacServiceID/KEY值请联系My Card进行确认,然后在仪表盘中设置。
// productId:已添加至商城的商品ID
if (FGamePotSDKPluginModule::IsGamePotSdkAvailable())
FGamePotSDKPluginModule::GetSharedGamePotSdk()->purchaseThirdPayments(FString productId);
// 用于调用产品信息列表的API
if (FGamePotSDKPluginModule::IsGamePotSdkAvailable())
TArray<FNPurchaseItem> itemList = FGamePotSDKPluginModule::GetSharedGamePotSdk()->getPurchaseThirdPaymentsItems();