correo - Validación del lado del servidor iOS-tipos de recibos
configurar correo en iphone ios 11 (1)
Recibo 2 tipos de formatos de recibos de Apple cuando trato de verificar las compras en el servidor.
¿Alguna idea de cuál es la diferencia?
1)
content: {
status: 0,
receipt: {
item_id: "662554154",
original_purchase_date: "2012-10-12 08:32:12 Etc/GMT",
purchase_date_pst: "2012-10-12 01:32:12 America/Los_Angeles",
purchase_date: "2012-10-12 08:32:12 Etc/GMT",
product_id: "com.example.mygame.tool1",
bid: "com.example.mygame",
version_external_identifier: "5647854",
bvrs: "1.0",
quantity: "1",
transaction_id: "8844567822225544",
app_item_id: "659563252",
original_purchase_date_ms: "1350030732000",
original_transaction_id: "8844567822225544",
purchase_date_ms: "1350030732000",
original_purchase_date_pst: "2012-10-12 01:32:12 America/Los_Angeles"
}
}
2)
content: {
receipt: {
in_app: [
{
is_trial_period: "false",
original_purchase_date_pst: "2013-10-09 20:55:27 America/Los_Angeles",
original_purchase_date_ms: "1386571707000",
original_purchase_date: "2013-10-09 04:55:27 Etc/GMT",
purchase_date_pst: "2013-10-09 20:55:27 America/Los_Angeles",
purchase_date_ms: "1386571707000",
purchase_date: "2013-10-09 04:55:27 Etc/GMT",
original_transaction_id: "654888452251325",
transaction_id: "654888452251325",
product_id: "com.example.mygame.tool1",
quantity: "1"
}
],
original_application_version: "1.0",
original_purchase_date_pst: "2013-10-09 20:55:27 America/Los_Angeles",
original_purchase_date_ms: "1386569706000",
original_purchase_date: "2013-10-09 04:55:27 Etc/GMT",
request_date_pst: "2013-10-09 20:55:27 America/Los_Angeles",
request_date_ms: "1386571710087",
request_date: "2013-10-09 04:55:27 Etc/GMT",
download_id: 215425636588954,
application_version: "1.0",
bundle_id: "com.example.mygame",
adam_id: 654225311,
receipt_type: "Sandbox"
},
environment: "Sandbox",
status: 0
}
En iOS 6, cada transacción IAP (compra en la aplicación) tendría su propio recibo ( SKPaymentTransaction.transactionReceipt
en la API de StoreKit). Cuando envía estos datos de recibo a su API de validación, obtiene la respuesta anterior.
En iOS 7, Apple ha comenzado a usar algo que llaman el "Gran Recibo Unificado". Esto significa que las aplicaciones tienen un recibo que contiene información sobre la compra de la aplicación en sí, así como los IAP. Utiliza la API -[NSBundle appStoreReceiptURL]
para cargar estos datos de recibo desde el disco (y posiblemente SKReceiptRefreshRequest
para obtenerlos si parece que no existe). Cuando envía estos datos de recibo a su API de validación, obtiene la última respuesta.
La principal diferencia es que el formato de recibo anterior representa una transacción IAP, mientras que el último representa una matriz de ellos (así como la compra de la aplicación en sí).
Vea más información en la sesión "Cómo usar recibos para proteger sus ventas digitales" WWDC 2013 .