Le crédit peut s'effectuer dans trois environnements différents:
- Application Android de l'intégrateur de paiements
- Site Web mobile de l'intégrateur de paiements
- Site Web pour ordinateur de l'intégrateur de paiements
Quel que soit le flux de travail, Google transmet l'interaction utilisateur le logiciel de l'intégrateur. L'intégrateur de paiement implémente une interface utilisateur familière pour l'utilisateur, mais le flux doit être dédié spécifiquement à l'ajout équilibre de l'utilisateur, ce qui signifie que l'utilisateur doit être dirigé vers un processus de recharge de forfait plutôt que dans une interface utilisateur générale où ils devraient accédez à une procédure de recharge de forfait.
Avec tous les flux, l'intégrateur génère TopUpRedirectResponse. Cette réponse est signée et envoyée à Google.
Les sites Web pour mobile et pour ordinateur doivent respecter les Spécification de l'API Web Top Up tandis que le flux de l'application Android doit respecter la spécification de l'API Android Top Up.
Les intégrateurs doivent implémenter une solution APK Android pour authentifier l'utilisateur. puis de les guider dans un flux leur permettant de recharger leur équilibre. Ce la recharge est une modalité différente, mais qui a le même objectif que la recharge fournie par la Crédit Web :
Un utilisateur accède au flux dans l'application de l'intégrateur de paiement via une Activité Android. L'intent de recharge peut être appelé directement à partir d'une application Play où l'utilisateur dans l'intention d'effectuer un achat. Pour empêcher Android de fermer Play dans le pendant la recharge, l'intégrateur doit inclure les éléments suivants le thème de l’activité.
<item name="android:windowIsTranslucent">true</item>
Définition de la méthode
L'intent doit comporter les propriétés suivantes:
Propriétés de la méthode | |
---|---|
Action |
com.google.android.payments.standard.TOPUP_V1 |
Catégorie | android.intent.category.DEFAULT |
Requête
Champs | |
---|---|
gspTopUpRequest
|
TopUpRedirectRequest
Demande de réapprovisionnement. |
gspAssociationId
|
string
Contient un identifiant que l'intégrateur utilise pour rechercher les identifiants pour le compte que l'utilisateur crédite. Il s'agit de l'ID d'association envoyé lors de l'association du compte dans AssociateAccountRequest. |
Réponse
Une fois que l'utilisateur a terminé le processus de recharge de forfait, votre application doit envoyer une l'intent de résultat à Google. Si la recharge de forfait aboutit, créez un intent et ajoutez gspTopUpResponse et redirectRequestId encodés en tant qu'extras. Ensuite, définissez l'activité au code de résultat approprié.
...
result.setExtra("gspTopUpResponse", gspTopUpResponse);
result.setExtra("redirectRequestId", redirectRequestId);
setResult(Activity.RESULT_OK, result);
...
finish();
Résultat
Champs | |||||||
---|---|---|---|---|---|---|---|
résultat |
int
|
Bonus
Champs | |
---|---|
gspTopUpResponse |
TopUpRedirectResponse
OBLIGATOIRE: réponse de recharge. Cette valeur encodée ne doit pas dépasser 1 Ko. |
redirectRequestId |
string OBLIGATOIRE: requestId envoyé dans la demande de paiement de redirection initiale/initiale. Google vérifiera qu'il s'agit bien de l'requestId envoyé, et le flux "Complete Redirect" (Redirection complète) échouera si ce n'est pas le cas.
|
Autres exigences concernant l'activité
L'activité compatible avec l'action TOPUP_V1
mentionnée ci-dessus doit
vérifient également que les appelants de l'API ne proviennent que d'applications signées par Google.
Cela évitera que d'autres applis essaient d'appeler votre activité et
récupérer les données utilisateur. Pour ce faire, utilisez les attributs
StandardPaymentUtils.verifyCallingActivityIsGoogleSigned
juste après
super.onCreate
dans votre
Activité
la mise en œuvre.
Voici un exemple :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StandardPaymentsUtils.verifyCallingActivityIsGoogleSigned(this);
....
}
Toutes les activités appelées dans le flux de recharge de crédit doivent fournir une activité
thème contenant windowIsTranslucent=true
. Pour ce faire, utilisez
l'attribut android:theme d'AndroidManifest, et que Context.setTheme()
n'est pas utilisé.
Par programmation, la définition du thème ne fonctionne pas correctement pour la fenêtre
la translucidité. Google s'assurera que la première activité lancée suit cette
mais toutes les sous-activités également lancées doivent également
du modèle. Si ce n'est pas le cas, les achats auprès de développeurs tiers risquent de ne pas fonctionner.