این صفحه نحوه استفاده از توکنهای نمونه برای آزمایش یکپارچهسازی شما را شرح میدهد.
تولید توکنهای نمونه
برای یکپارچهسازیهای مستقیم، به منظور آزمایش رمزگشایی توکن روی سرور خود، میتوانید در صورت تنظیم ENVIRONMENT_TEST هنگام ساخت یک نمونه PaymentsClient توکنهای نمونه ایجاد کنید.
وقتی نمونه PaymentsClient با محیط تنظیم شده روی ENVIRONMENT_TEST ساخته میشود، فراخوانیهای loadPaymentData طبق معمول کار میکنند و از کاربر میخواهند که یکی از کارتهای واقعی خود را انتخاب کند. با این حال، هرگز اطلاعات واقعی از کارت انتخاب شده را برنمیگرداند و در عوض، توکنی که حاصل میشود همیشه دارای یک payload ثابت است.
امضا را تأیید کنید
توکنهای تولید شده در ENVIRONMENT_TEST با کلید عمومی آزمایشی شما که قبلاً به گوگل ارسال شده بود، رمزگذاری میشوند.
توکنها با کلیدهای آزمایشی گوگل امضا شدهاند. اگر از Tink استفاده میکنید، هنگام ساخت شیء PaymentMethodTokenRecipient ، مطمئن شوید که .fetchSenderVerifyingKeysWith(GooglePaymentsPublicKeysManager.INSTANCE_TEST) تنظیم شده باشد.
بار داده رمزگشایی شده
پس از رمزگشایی توکن نمونه، شما محتوای متنی شفاف را دریافت میکنید. ساختار محتوای متنی بستگی به این دارد که آیا کارت انتخاب شده توکنیزه شده است یا خیر، به این معنی که به کیف پول گوگل اضافه شده است. علاوه بر این، محتوای متنی برای کارتهای توکنیزه شده متفاوت است که به شبکه کارت بستگی دارد. محتوای متنی برای کارتهای غیر توکنیزه شده، صرف نظر از شبکه کارت، همیشه یکسان است.
سه فیلد زیر ممکن است در نمونه رمزگشایی شده شما در مقایسه با نمونههای زیر متفاوت باشند:
-
messageExpiration: این مقدار یک هفته از زمان فعلی تنظیم شده است. -
messageId: این شناسه به صورت تصادفی برای هر payload تولید میشود. -
expirationYear: این مقدار پنج سال پس از سال جاری تنظیم میشود.
ساختار بار داده رمزگشاییشده بین دو نسخه پروتکل، ECv1 و ECv2، متفاوت است. اگر یکپارچهسازی جدیدی را پیادهسازی میکنید، نسخه ECv2 خواهد بود. اگر در مورد نسخه پروتکل مطمئن نیستید، آن را با نماینده گوگل خود تأیید کنید.
کارت بدون توکن
ویزا
در زیر مثالی از یک payload رمزگشایی شده برای کارتهای ویزای بدون توکن آمده است:
ای سی وی ۲
{
"gatewayMerchantId": "some-merchant-id",
"messageExpiration": "1650574736277",
"messageId": "AH2Ejtc88ZHJ-2aYBQWzHwvp6l0JsCHgxVt8s91A-ZUikaXNbcjsFm6gg9ExeVR-jzIyT-mJvA_ntvfRsDDOH2jnKMjdTtXIJvPt0NBUU45R7-gnjxkx-sI0ldcWvbDHsV0735yFDbWk",
"paymentMethod": "CARD",
"paymentMethodDetails": {
"expirationYear": 2028,
"expirationMonth": 12,
"pan": "4111111111111111",
"authMethod": "PAN_ONLY"
}
}ای سی وی ۱
{
"messageExpiration": "1507738377032",
"paymentMethod": "CARD",
"messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
"paymentMethodDetails": {
"expirationYear": 2028,
"expirationMonth": 12,
"pan": "4111111111111111"
}
}مسترکارت
در زیر مثالی از یک payload رمزگشایی شده برای کارتهای مسترکارت توکن نشده آمده است:
ای سی وی ۲
{
"gatewayMerchantId": "some-merchant-id",
"messageExpiration": "1650574585777",
"messageId": "AH2Ejte23Sp0DBWqKVQ1d8ICVQialPGgXSsTT4NnCjNy3i-jdJg6B_wllO8590dFfrLg16GqGcuSrEPjl-sQZ-K8sKCL62ahwh5kzUv4ggLwioImJmuEuKfAiEQBRW0L8zlo0Nv6LFuk",
"paymentMethod": "CARD",
"paymentMethodDetails": {
"expirationYear": 2028,
"expirationMonth": 12,
"pan": "5555555555554444",
"authMethod": "PAN_ONLY"
}
}ای سی وی ۱
{
"messageExpiration": "1507738377032",
"paymentMethod": "CARD",
"messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
"paymentMethodDetails": {
"expirationYear": 2028,
"expirationMonth": 12,
"pan": "5555555555554444"
}
}امریکن اکسپرس
در ادامه مثالی از یک payload رمزگشاییشده برای کارتهای آمریکن اکسپرس بدون توکن آمده است:
ای سی وی ۲
{
"gatewayMerchantId": "some-merchant-id",
"messageExpiration": "1650574857349",
"messageId": "AH2EjtcmoURSXm2RhZ8ihnJrsty-7Ewm3NEnJDM-Atw9ewbIPvuarglows0vtaCV33b4z3PpM5RsMklbpe0aNPK5_BanGxmp_JSsOEtZYuf4m3cHTtKnxpQeonN07XDK-DUPKAaRwLfY",
"paymentMethod": "CARD",
"paymentMethodDetails": {
"expirationYear": 2028,
"expirationMonth": 12,
"pan": "378282246310005",
"authMethod": "PAN_ONLY"
}
}ای سی وی ۱
{
"messageExpiration": "1507738377032",
"paymentMethod": "CARD",
"messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
"paymentMethodDetails": {
"expirationYear": 2028,
"expirationMonth": 12,
"pan": "378282246310005"
}
}کشف کنید
در زیر مثالی از یک payload رمزگشایی شده برای کارتهای Discover بدون توکن آمده است:
ای سی وی ۲
{
"gatewayMerchantId": "some-merchant-id",
"messageExpiration": "1650574781399",
"messageId": "AH2EjteSxPPpbJOXKXzG1Cqkh1kzJz0UP1AG4w75n9q7gCtWsawfRlqtUZofjIBnKlbozvASxKkkdbjv2-rOfNGd_st4kFqPeb6O3IE-fXeIcHzH8x56tMRylEnfnrF6x01ET8KdUeLS",
"paymentMethod": "CARD",
"paymentMethodDetails": {
"expirationYear": 2028,
"expirationMonth": 12,
"pan": "6011111111111117",
"authMethod": "PAN_ONLY"
}
}ای سی وی ۱
{
"messageExpiration": "1507738377032",
"paymentMethod": "CARD",
"messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
"paymentMethodDetails": {
"expirationYear": 2028,
"expirationMonth": 12,
"pan": "6011111111111117"
}
}جی سی بی
در ادامه مثالی از یک payload رمزگشاییشده برای کارتهای JCB بدون توکن آمده است:
ای سی وی ۲
{
{
"gatewayMerchantId": "some-merchant-id",
"messageExpiration": "1650574736277",
"messageId": "AH2Ejtc88ZHJ-2aYBQWzHwvp6l0JsCHgxVt8s91A-ZUikaXNbcjsFm6gg9ExeVR-jzIyT-mJvA_ntvfRsDDOH2jnKMjdTtXIJvPt0NBUU45R7-gnjxkx-sI0ldcWvbDHsV0735yFDbWk",
"paymentMethod": "CARD",
"paymentMethodDetails": {
"expirationYear": 2028,
"expirationMonth": 12,
"pan": "4111111111111111",
"authMethod": "PAN_ONLY"
}
}ای سی وی ۱
{
{
"messageExpiration": "1507738377032",
"paymentMethod": "CARD",
"messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
"paymentMethodDetails": {
"expirationYear": 2028,
"expirationMonth": 12,
"pan": "4111111111111111"
}
}
}
}کارت توکنیزه شده
کارت توکنیزه شده، کارتی است که به کیف پول گوگل اضافه میشود.
میزان دادههای رمزگشاییشدهی یک کارت توکنیزهشده به نوع کارت انتخابشده بستگی دارد. سه مثال زیر، دادههای رمزگشاییشدهی مربوط به انواع مختلف کارتهای توکنیزهشده را نشان میدهند.
ویزا
در زیر مثالی از یک payload رمزگشایی شده برای کارتهای ویزا توکنیزه شده آمده است:
ای سی وی ۲
{
"gatewayMerchantId": "some-merchant-id",
"messageExpiration": "1561533871082",
"messageId": "AH2Ejtc8qBlP_MCAV0jJG7ErQKeDrkEUtQ0N3QRvPXWJc-jgC0VTfgmarDRZvTwuzirQPdUjkMkiQ7tnDidZbtlQTO-mAgMIdXRMuYedhZXnCcokmkJOOnE7jBn-pvkyBncOgpPWFFn3",
"paymentMethod": "CARD",
"paymentMethodDetails": {
"expirationYear": 2028,
"expirationMonth": 12,
"pan": "4895370012003478",
"authMethod": "CRYPTOGRAM_3DS",
"eciIndicator": "07",
"cryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA="
}
}ای سی وی ۱
{
"messageExpiration": "1507738377032",
"paymentMethod": "TOKENIZED_CARD",
"messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
"paymentMethodDetails": {
"expirationYear": 2028,
"dpan": "4895370012003478",
"expirationMonth": 12,
"authMethod": "3DS",
"3dsCryptogram": "AgAAAAAABk4DWZ4C28yUQAAAAAA=",
"3dsEciIndicator": "07"
}
}امریکن اکسپرس
در زیر مثالی از یک payload رمزگشایی شده برای کارتهای American Express توکندار شده آمده است:
ای سی وی ۲
{
"gatewayMerchantId": "some-merchant-id",
"messageExpiration": "1561534208255",
"messageId": "AH2Ejtf3Lp6LzjK6BswXBvVKZapBJNgMUbVHF_TORaVi7lV0tvRfzvApsZm-RAXF_szQq9qS_BwLTgZGrXvk0ZydZwUISo4x6dxojDoz0fl7loXwZ8JApFrQWU__ExxljKY4Y4mu2aQz",
"paymentMethod": "CARD",
"paymentMethodDetails": {
"expirationYear": 2028,
"expirationMonth": 12,
"pan": "370295136149943",
"authMethod": "CRYPTOGRAM_3DS",
"cryptogram": "JnPYbs6FkC1tiVLREAABoAAAkgA="
}
}ای سی وی ۱
{
"messageExpiration": "1507738377032",
"paymentMethod": "TOKENIZED_CARD",
"messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
"paymentMethodDetails": {
"expirationYear": 2028,
"dpan": "370295136149943",
"expirationMonth": 12,
"authMethod": "3DS",
"3dsCryptogram": "JnPYbs6FkC1tiVLREAABoAAAkgA="
}
}تمام شبکههای دیگر
در ادامه مثالی از یک payload رمزگشاییشده برای کارتهای توکنشده برای سایر شبکهها آمده است:
ای سی وی ۲
{
"gatewayMerchantId": "some-merchant-id",
"messageExpiration": "1561534208255",
"messageId": "AH2EjterqtEqlB9vQvy2kJEugwCDYtMzVtLrVH26Qd1RDFK_EFsFmPdpPOqcCIedXNpAc6sCM61GuYM_bgVl930tU8I0Ar0WUx87MIw36skUC-IT_APvbx4qRqw9Hfu2W-7zY6LMdgZ5",
"paymentMethod": "CARD",
"paymentMethodDetails": {
"expirationYear": 2028,
"expirationMonth": 12,
"pan": "5204240250197840",
"authMethod": "CRYPTOGRAM_3DS",
"cryptogram": "ALnt+yWSJdXBACMLLWMNGgADFA=="
}
}ای سی وی ۱
{
"messageExpiration": "1507738377032",
"paymentMethod": "TOKENIZED_CARD",
"messageId": "AH2EjtcHYs1Ye-ZIZuZXd7eNO4QjQfZjBDtP2ti0tob_a5o22lHmGWHsBVYrrSylkFC3ZTsRdvMadQpwOGCIl7XxhTKcfElmgF7UFbcI8CeUZCWRmbTH5s7h69Baqr4FAM735VNThPiP",
"paymentMethodDetails": {
"expirationYear": 2028,
"dpan": "5204240250197840",
"expirationMonth": 12,
"authMethod": "3DS",
"3dsCryptogram": "ALnt+yWSJdXBACMLLWMNGgADFA=="
}
}