本文整理汇总了Java中com.amazon.device.iap.model.Receipt类的典型用法代码示例。如果您正苦于以下问题:Java Receipt类的具体用法?Java Receipt怎么用?Java Receipt使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Receipt类属于com.amazon.device.iap.model包,在下文中一共展示了Receipt类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: onPurchaseUpdatesResponse
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
@SuppressWarnings({"ConstantConditions", "ToArrayCallWithZeroLengthArrayArgument"})
@Override
public void onPurchaseUpdatesResponse(PurchaseUpdatesResponse response) {
logDebug("onPurchaseUpdatesResponse " + response.getRequestStatus());
if (response == null)
return;
if (response.getRequestStatus() == PurchaseUpdatesResponse.RequestStatus.SUCCESSFUL) {
Receipt[] receipts = response.getReceipts().toArray(new Receipt[0]);
for (Receipt receipt : receipts) {
if (receipt != null && !receipt.isCanceled()) {
if (receipt.getProductType() == ProductType.ENTITLED) {
amazonBillingService.productOwned(receipt.getSku(), true);
logDebug("onPurchaseUpdatesResponse productOwned: " + receipt.getSku());
} else if (receipt.getProductType() == ProductType.SUBSCRIPTION) {
amazonBillingService.subscriptionOwned(receipt.getSku(), true);
logDebug("onPurchaseUpdatesResponse subscriptionOwned: " + receipt.getSku());
}
}
}
}
}
开发者ID:eggheadgames,项目名称:android-in-app-payments,代码行数:22,代码来源:AmazonBillingListener.java
示例2: onPurchaseUpdatesResponse
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
@Override
public void onPurchaseUpdatesResponse(PurchaseUpdatesResponse response) {
if (response.getRequestId().equals(mAlreadyPurchasedRequestId)) {
for (Receipt receipt: response.getReceipts()) {
if (receipt.getSku().equals(mAlreadyPurchasedProductId)) {
final PurchaseCallback callback = mPurchaseCallbacks.get(response.getRequestId());
if (callback != null) {
mPurchaseCallbacks.remove(response.getRequestId());
}
validatePurchase(receipt, response.getUserData().getUserId(), callback);
}
}
mAlreadyPurchasedProductId = null;
mAlreadyPurchasedRequestId = null;
}
}
开发者ID:ludei,项目名称:atomic-plugins-inapps,代码行数:20,代码来源:AmazonInAppService.java
示例3: AmazonPurchase
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
public AmazonPurchase(@NonNull final String originalJson) throws JSONException {
super(originalJson);
final ProductType productType = ProductType.valueOf(jsonObject.getString(NAME_ITEM_TYPE));
if (productType == null) {
throw new JSONException("Unknown product type.");
}
final ReceiptBuilder builder = new ReceiptBuilder()
.setSku(sku)
.setReceiptId(jsonObject.getString(NAME_RECEIPT_ID))
.setPurchaseDate(AmazonUtils.readDate(jsonObject, NAME_PURCHASE_DATE));
builder.setProductType(productType);
if (jsonObject.has(NAME_CANCEL_DATE)) {
builder.setCancelDate(AmazonUtils.readDate(jsonObject, NAME_CANCEL_DATE));
}
this.receipt = new Receipt(builder);
}
开发者ID:onepf,项目名称:OPFIab,代码行数:17,代码来源:AmazonPurchase.java
示例4: generateOriginalJson
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
/**
* Converts purchase response to json for transfer with purchase object
* <p/>
* <pre>
* {
* "orderId" : "purchaseResponse.getRequestId"
* "productId" : "receipt.getSku"
* "purchaseStatus" : "purchaseRequestStatus.name"
* "userId" : "purchaseResponse.getUserId()" // if non-null
* "itemType" : "receipt.getItemType().name()" // if non-null
* "purchaseToken" : "receipt.getReceiptId()"
* } </pre>
*
* @param purchaseResponse Purchase to convert.
* @return Generate JSON from purchase.
*/
private String generateOriginalJson(@NotNull PurchaseResponse purchaseResponse) {
final JSONObject json = new JSONObject();
try {
Receipt receipt = purchaseResponse.getReceipt();
json.put(JSON_KEY_ORDER_ID, purchaseResponse.getRequestId());
json.put(JSON_KEY_PRODUCT_ID, receipt.getSku());
final PurchaseResponse.RequestStatus requestStatus = purchaseResponse.getRequestStatus();
if (requestStatus != null) {
json.put(JSON_KEY_PURCHASE_STATUS, requestStatus.name());
}
final UserData userData = purchaseResponse.getUserData();
if (userData != null) {
json.put(JSON_KEY_USER_ID, userData.getUserId());
}
final ProductType productType = receipt.getProductType();
if (productType != null) {
json.put(JSON_KEY_RECEIPT_ITEM_TYPE, productType.name());
}
json.put(JSON_KEY_RECEIPT_PURCHASE_TOKEN, receipt.getReceiptId());
Logger.d("generateOriginalJson(): JSON\n", json);
} catch (JSONException e) {
Logger.e("generateOriginalJson() failed to generate JSON", e);
}
return json.toString();
}
开发者ID:onepf,项目名称:OpenIAB,代码行数:42,代码来源:AmazonAppstoreBillingService.java
示例5: validatePurchase
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
protected void validatePurchase(Receipt receipt,String userId, final PurchaseCallback callback) {
//local validation or server validation
String unverifiedData = "{\"userId\": \"" + userId + "\", \"purchaseToken\": \""
+ receipt.getReceiptId().replace("\n", "") + "\"}";
final InAppPurchase purchase = new InAppPurchase();
purchase.productId = receipt.getSku();
purchase.transactionId = receipt.getReceiptId();
purchase.quantity = 1;
purchase.purchaseDate = new Date();
super.validate(unverifiedData, purchase.productId, new ValidationCompletion() {
@Override
public void finishValidation(final Error error) {
dispatchCallback(new Runnable() {
@Override
public void run() {
if (error != null) {
//validation failed
notifyPurchaseFailed(purchase.productId, error);
} else {
//validation completed, update stock and save it.
mStock.put(purchase.productId, 1);
saveCipheredStock();
notifyPurchaseCompleted(purchase);
}
if (callback != null) {
callback.onComplete(purchase, error);
}
}
});
}
});
}
开发者ID:ludei,项目名称:atomic-plugins-inapps,代码行数:38,代码来源:AmazonInAppService.java
示例6: convertReceiptToTransaction
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
/** Converts a Receipt to our transaction object. */
static Transaction convertReceiptToTransaction(int i, String requestId, Receipt receipt, final UserData userData) {
// build the transaction from the purchase object
Transaction transaction = new Transaction();
transaction.setIdentifier(receipt.getSku());
transaction.setOrderId(receipt.getReceiptId());
transaction.setStoreName(PurchaseManagerConfig.STORE_NAME_ANDROID_AMAZON);
transaction.setRequestId(requestId);
transaction.setUserId(userData.getUserId());
transaction.setPurchaseTime(receipt.getPurchaseDate());
transaction.setPurchaseText("Purchased: " + receipt.getSku().toString());
// transaction.setPurchaseCost(receipt.getSku()); // TODO: GdxPay: impl.
// parsing of COST + CURRENCY via skuDetails.getPrice()!
// transaction.setPurchaseCostCurrency(null);
if (receipt.isCanceled()) {
// order has been refunded or cancelled
transaction.setReversalTime(receipt.getCancelDate());
// transaction.setReversalText(receipt..getPurchaseState() == 1 ?
// "Cancelled" : "Refunded");
} else {
// still valid!
transaction.setReversalTime(null);
transaction.setReversalText(null);
}
transaction.setTransactionData(receipt.toJSON().toString());
// transaction.setTransactionDataSignature(purchase.getSignature());
return transaction;
}
开发者ID:libgdx,项目名称:gdx-pay,代码行数:33,代码来源:AmazonTransactionUtils.java
示例7: handleReceipt
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
/**
* Method to handle receipts
*
* @param requestId
* @param receipt
* @param userData
*/
public void handleReceipt(final String requestId, final Receipt receipt, final UserData userData) {
showMessage(LOGTYPELOG, "Handle receipt: requestId (" + requestId
+ ") receipt: "
+ receipt
+ ")");
// convert receipt to transaction
Transaction trans = AmazonTransactionUtils.convertReceiptToTransaction(1, requestId, receipt, userData); // provides cancleState also
switch (receipt.getProductType()) {
case CONSUMABLE:
// inform the listener
observer.handlePurchase(trans);
// Automatically consume item
PurchasingService.notifyFulfillment(receipt.getReceiptId(), FulfillmentResult.FULFILLED);
break;
case ENTITLED:
// inform the listener
observer.handlePurchase(trans);
break;
case SUBSCRIPTION:
// TODO: check subscription sample for how to handle consumable purchases
break;
}
}
开发者ID:libgdx,项目名称:gdx-pay,代码行数:37,代码来源:PurchaseManagerAndroidAmazon.java
示例8: convertPurchase
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
/**
* Transforms Amazon receipt into library purchase model.
*
* @param receipt Amazon receipt to transform.
*
* @return Newly constructed purchase object.
*/
@Nullable
public static Purchase convertPurchase(@NonNull final Receipt receipt) {
final Purchase.Builder builder = new Purchase.Builder(receipt.getSku());
final ProductType productType = receipt.getProductType();
switch (productType) {
case CONSUMABLE:
builder.setType(SkuType.CONSUMABLE);
break;
case ENTITLED:
builder.setType(SkuType.ENTITLEMENT);
break;
case SUBSCRIPTION:
builder.setType(SkuType.SUBSCRIPTION);
break;
default:
OPFLog.e("Unknown Amazon product type: " + productType);
return null;
}
builder.setToken(receipt.getReceiptId());
builder.setCanceled(receipt.isCanceled());
builder.setPurchaseTime(receipt.getPurchaseDate().getTime());
builder.setProviderName(AmazonBillingProvider.NAME);
builder.setOriginalJson(receipt.toJSON().toString());
return builder.build();
}
开发者ID:onepf,项目名称:OPFIab,代码行数:34,代码来源:AmazonUtils.java
示例9: getInventory
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
@NonNull
public static Collection<Purchase> getInventory(
@NonNull final PurchaseUpdatesResponse response) {
final List<Receipt> receipts = response.getReceipts();
final Collection<Purchase> purchases = new ArrayList<>(receipts.size());
for (final Receipt receipt : receipts) {
final Purchase purchase = convertPurchase(receipt);
if (purchase != null) {
purchases.add(purchase);
}
}
return purchases;
}
开发者ID:onepf,项目名称:OPFIab,代码行数:16,代码来源:AmazonUtils.java
示例10: onPurchaseUpdatesResponse
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
@Override
public void onPurchaseUpdatesResponse(final PurchaseUpdatesResponse purchaseUpdatesResponse) {
final PurchaseUpdatesResponse.RequestStatus requestStatus = purchaseUpdatesResponse.getRequestStatus();
final RequestId requestId = purchaseUpdatesResponse.getRequestId();
Logger.d("onPurchaseUpdatesResponse() reqStatus: ", requestStatus,
"reqId: ", requestId);
switch (requestStatus) {
case SUCCESSFUL:
for (final String sku : inventory.getAllOwnedSkus()) {
inventory.erasePurchase(sku);
}
final UserData userData = purchaseUpdatesResponse.getUserData();
final String userId = userData.getUserId();
if (!userId.equals(currentUserId)) {
Logger.w("onPurchaseUpdatesResponse() Current UserId: ", currentUserId,
", purchase UserId: ", userId);
break;
}
for (final Receipt receipt : purchaseUpdatesResponse.getReceipts()) {
inventory.addPurchase(getPurchase(receipt));
}
if (purchaseUpdatesResponse.hasMore()) {
PurchasingService.getPurchaseUpdates(false);
Logger.d("Initiating Another Purchase Updates with offset: ");
return;
}
break;
case FAILED:
break;
}
final CountDownLatch countDownLatch = inventoryLatchQueue.poll();
if (countDownLatch != null) {
countDownLatch.countDown();
}
}
开发者ID:onepf,项目名称:OpenIAB,代码行数:37,代码来源:AmazonAppstoreBillingService.java
示例11: getPurchase
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
@NotNull
private Purchase getPurchase(@Nullable final Receipt receipt) {
final Purchase purchase = new Purchase(OpenIabHelper.NAME_AMAZON);
if (receipt == null) {
return purchase;
}
final String storeSku = receipt.getSku();
purchase.setSku(SkuManager.getInstance().getSku(OpenIabHelper.NAME_AMAZON, storeSku));
purchase.setToken(receipt.getReceiptId());
switch (receipt.getProductType()) {
case CONSUMABLE:
// TODO Make sure this behavior is intended
case ENTITLED:
purchase.setItemType(IabHelper.ITEM_TYPE_INAPP);
Logger.d("Add to inventory SKU: ", storeSku);
break;
case SUBSCRIPTION:
// TODO Make sure cancelDate is always available
purchase.setItemType(IabHelper.ITEM_TYPE_SUBS);
purchase.setSku(SkuManager.getInstance().getSku(OpenIabHelper.NAME_AMAZON, storeSku));
Logger.d("Add subscription to inventory SKU: ", storeSku);
break;
}
return purchase;
}
开发者ID:onepf,项目名称:OpenIAB,代码行数:28,代码来源:AmazonAppstoreBillingService.java
示例12: onPurchaseResponse
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
@Override
public void onPurchaseResponse(PurchaseResponse response) {
logDebug("onPurchaseResponse " + response.getRequestStatus());
final String requestId = response.getRequestId().toString();
final String userId = response.getUserData().getUserId();
final PurchaseResponse.RequestStatus status = response.getRequestStatus();
final Receipt receipt;
logDebug("onPurchaseResponse: requestId (" + requestId + ") userId (" + userId + ") purchaseRequestStatus (" + status + ")");
switch (status) {
case SUCCESSFUL:
receipt = response.getReceipt();
if (receipt != null) {
logDebug("onPurchaseResponse: receipt json:" + receipt.toJSON());
logDebug("onPurchaseResponse: getUserId:" + response.getUserData().getUserId());
logDebug("onPurchaseResponse: getMarketplace:" + response.getUserData().getMarketplace());
if (receipt.getProductType() == ProductType.SUBSCRIPTION) {
amazonBillingService.subscriptionOwned(receipt.getSku(), false);
} else {
amazonBillingService.productOwned(receipt.getSku(), false);
}
PurchasingService.notifyFulfillment(receipt.getReceiptId(), FulfillmentResult.FULFILLED);
}
break;
case ALREADY_PURCHASED:
logDebug("onPurchaseResponse: already purchased, you should verify the entitlement purchase on your side and make sure the purchase was granted to customer");
receipt = response.getReceipt();
if (receipt != null && !receipt.isCanceled()) {
if (receipt.getProductType() == ProductType.SUBSCRIPTION) {
amazonBillingService.subscriptionOwned(receipt.getSku(), true);
} else {
amazonBillingService.productOwned(receipt.getSku(), true);
}
}
break;
case INVALID_SKU:
logDebug("onPurchaseResponse: invalid SKU! onProductDataResponse should have disabled buy button already.");
break;
case FAILED:
case NOT_SUPPORTED:
logDebug("onPurchaseResponse: failed so remove purchase request from local storage");
break;
}
}
开发者ID:eggheadgames,项目名称:android-in-app-payments,代码行数:46,代码来源:AmazonBillingListener.java
示例13: onPurchaseUpdatesResponse
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
/**
* This is the callback for {@link PurchasingService#getPurchaseUpdates}.
*
* You will receive Entitlement receipts from this callback.
*
*/
@Override
public void onPurchaseUpdatesResponse(final PurchaseUpdatesResponse response) {
showMessage(LOGTYPELOG, "onPurchaseUpdatesResponse: requestId (" + response.getRequestId()
+ ") purchaseUpdatesResponseStatus ("
+ response.getRequestStatus()
+ ") userId ("
+ response.getUserData().getUserId()
+ ")");
final PurchaseUpdatesResponse.RequestStatus status = response.getRequestStatus();
switch (status) {
case SUCCESSFUL:
updateUserData(response.getUserData());
// for (final Receipt receipt : response.getReceipts()) {
// handleReceipt(response.getRequestId().toString(), receipt, response.getUserData());
// }
// send result to observer --------
List<Transaction> transactions = new ArrayList<Transaction>(response.getReceipts().size());
Array<Receipt> consumables = new Array<Receipt>(response.getReceipts().size());
for (int i = 0; i < response.getReceipts().size(); i++) {
Receipt receipt = response.getReceipts().get(i);
// Memoize consumables for later check
if (receipt.getProductType() == ProductType.CONSUMABLE)
consumables.add(receipt);
transactions.add(AmazonTransactionUtils.convertReceiptToTransaction(i, response.getRequestId().toString(), receipt, response.getUserData()));
}
// send inventory to observer
observer.handleRestore(transactions.toArray(new Transaction[transactions.size()]));
// Automatically consume consumables if this was not previously the case
for (int i = 0; i < consumables.size; i++) {
Receipt consumable = consumables.get(i);
PurchasingService.notifyFulfillment(consumable.getReceiptId(), FulfillmentResult.FULFILLED);
}
//---- check if there are more receipts -------
if (response.hasMore()) {
PurchasingService.getPurchaseUpdates(false);
}
break;
case FAILED:
showMessage(LOGTYPEERROR, "onPurchaseUpdatesResponse: FAILED, should retry request");
observer.handleRestoreError(new Throwable("onPurchaseUpdatesResponse: FAILED, should retry request"));
break;
case NOT_SUPPORTED:
showMessage(LOGTYPEERROR, "onPurchaseUpdatesResponse: NOT_SUPPORTED, should retry request");
observer.handleRestoreError(new Throwable("onPurchaseUpdatesResponse: NOT_SUPPORTED, should retry request"));
break;
}
}
开发者ID:libgdx,项目名称:gdx-pay,代码行数:65,代码来源:PurchaseManagerAndroidAmazon.java
示例14: onPurchaseResponse
import com.amazon.device.iap.model.Receipt; //导入依赖的package包/类
/**
* This is the callback for {@link PurchasingService#purchase}. For each
* time the application sends a purchase request
* {@link PurchasingService#purchase}, Amazon Appstore will call this
* callback when the purchase request is completed. If the RequestStatus is
* Successful or AlreadyPurchased then application needs to call
* {@link SampleIAPManager#handleReceipt} to handle the purchase
* fulfillment. If the RequestStatus is INVALID_SKU, NOT_SUPPORTED, or
* FAILED, notify corresponding method of {@link SampleIAPManager} .
*/
@Override
public void onPurchaseResponse(final PurchaseResponse response) {
final String requestId = response.getRequestId().toString();
final String userId = response.getUserData().getUserId();
final PurchaseResponse.RequestStatus status = response.getRequestStatus();
showMessage(LOGTYPELOG, "onPurchaseResponse: requestId (" + requestId
+ ") userId ("
+ userId
+ ") purchaseRequestStatus ("
+ status
+ ")");
switch (status) {
case SUCCESSFUL:
final Receipt receipt = response.getReceipt();
updateUserData(response.getUserData());
showMessage(LOGTYPELOG, "onPurchaseResponse: receipt json:" + receipt.toJSON());
handleReceipt(response.getRequestId().toString(), receipt, response.getUserData());
break;
case ALREADY_PURCHASED:
showMessage(LOGTYPELOG, "onPurchaseResponse: already purchased, you should verify the entitlement purchase on your side and make sure the purchase was granted to customer");
observer.handlePurchaseError(new Throwable("onPurchaseResponse: ALREADY_PURCHASED"));
break;
case INVALID_SKU:
showMessage(LOGTYPEERROR,
"onPurchaseResponse: invalid SKU! onProductDataResponse should have disabled buy button already.");
observer.handlePurchaseError(new Throwable("onPurchaseResponse: INVALID_SKU"));
break;
case FAILED:
showMessage(LOGTYPEERROR, "onPurchaseResponse: FAILED");
observer.handlePurchaseError(new Throwable("onPurchaseResponse: FAILED"));
break;
case NOT_SUPPORTED:
showMessage(LOGTYPEERROR, "onPurchaseResponse: NOT_SUPPORTED so remove purchase request from local storage");
observer.handlePurchaseError(new Throwable("onPurchaseResponse: NOT_SUPPORTED"));
break;
}
}
开发者ID:libgdx,项目名称:gdx-pay,代码行数:54,代码来源:PurchaseManagerAndroidAmazon.java
注:本文中的com.amazon.device.iap.model.Receipt类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论