API การเติมเงิน APK ของ Android

การเติมเงินอาจเกิดขึ้นได้ใน 3 สภาพแวดล้อมที่แตกต่างกันดังนี้

  • แอป Android ของผู้ผสานการชำระเงิน
  • เว็บไซต์บนอุปกรณ์เคลื่อนที่ของผู้รวมการชำระเงิน
  • เว็บไซต์บนเดสก์ท็อปของผู้รวมการชำระเงิน

ไม่ว่าขั้นตอนจะเป็นอย่างไร Google จะส่งต่อการโต้ตอบของผู้ใช้ไปยัง "การชำระเงิน" ของผู้รวมระบบ ผู้ผสานการชำระเงินใช้ UI ที่คุ้นเคย สำหรับผู้ใช้ได้ แต่ขั้นตอนต่างๆ จะต้องมีไว้สำหรับการเติมเงิน ยอดคงเหลือของผู้ใช้ ซึ่งหมายความว่าผู้ใช้ควรเข้าสู่กระบวนการเติมเงิน แทนการนำเข้าสู่ UI สำหรับวัตถุประสงค์ทั่วไปซึ่งคาดว่าจะให้ ให้ไปที่ขั้นตอนการเติมเงิน

กระบวนการทั้งหมดส่งผลให้ผู้ผสานรวมระบบสร้างฟิลด์ TopUpRedirectResponse. คำตอบนี้ลงชื่อและส่งแล้ว กลับไปที่ Google

เว็บไซต์ในอุปกรณ์เคลื่อนที่และเดสก์ท็อปต้องเป็นไปตาม ข้อกำหนดของ Web Top Up API ในขณะที่การทำงานของแอป Android ต้องเป็นไปตามข้อกำหนดของ Android Top Up API

ผู้ผสานรวมระบบควรใช้โซลูชัน Android APK เพื่อตรวจสอบสิทธิ์ผู้ใช้ จากนั้นจึงดำเนินการตามขั้นตอนเพื่อเติมเงินยอดคงเหลือ ช่วงเวลานี้ การเติมเงินเป็นรูปแบบที่แตกต่างออกไป แต่มีวัตถุประสงค์เดียวกับการเติมเงินที่ทาง เวลา การเติมเงินผ่านเว็บ

ผู้ใช้เข้าสู่ขั้นตอนในแอปผู้ผสานการชำระเงินผ่านทาง กิจกรรม Android คุณเรียกใช้ Intent ในการเติมเงินได้โดยตรงจากแอป Play ที่ผู้ใช้ กำลังตั้งใจจะซื้อ ในการป้องกันไม่ให้ Android สิ้นสุดการใช้งาน Play ใน ระหว่างการเติมเงิน ผู้ผสานรวมระบบต้องระบุข้อมูลต่อไปนี้ ธีมกิจกรรม

<item name="android:windowIsTranslucent">true</item>

คำจำกัดความของเมธอด

Intent ต้องมีพร็อพเพอร์ตี้ต่อไปนี้

คุณสมบัติของเมธอด
การดำเนินการ com.google.android.payments.standard.TOPUP_V1
หมวดหมู่ android.intent.category.DEFAULT

ส่งคำขอ

ช่อง
gspTopUpRequest TopUpRedirectRequest

คำขอเติมเงิน

gspAssociationId string

มีตัวระบุที่ผู้ผสานรวมระบบใช้เพื่อค้นหาข้อมูลเข้าสู่ระบบ สำหรับบัญชีที่ผู้ใช้เติมเงิน นี่คือรหัสการเชื่อมโยง ที่ส่งระหว่างการลิงก์บัญชีใน AssociateAccountRequest

คำตอบ

หลังจากที่ผู้ใช้ดำเนินการตามขั้นตอนการเติมเงินเรียบร้อยแล้ว แอปพลิเคชันของคุณจะต้องส่ง ผลลัพธ์ที่ต้องการกลับไปยัง Google หากการเติมเงินสำเร็จ ให้สร้าง Intent และ เพิ่ม gspTopUpResponse ที่เข้ารหัสและ redirectRequestId เป็นบริการเสริม ต่อไป ให้กำหนดกิจกรรม เป็นรหัสผลลัพธ์ที่เหมาะสม

...
result.setExtra("gspTopUpResponse", gspTopUpResponse);
result.setExtra("redirectRequestId", redirectRequestId);
setResult(Activity.RESULT_OK, result);
...
finish();

ผลลัพธ์

ช่อง
ผลลัพธ์ int

Activity.RESULT_OK
เติมเงินสำเร็จแล้ว
Activity.RESULT_CANCELED ผู้ใช้ยกเลิกโฟลว์ด้วยตนเอง และระบบควรล้มเลิกการดำเนินการ
Activity.RESULT_FIRST_USER การเติมเงินล้มเหลวด้วยเหตุผลร้ายแรง และการดำเนินการควรจะเป็น ล้มเลิกแล้ว เซิร์ฟเวอร์ IE แสดงการตอบกลับ HTTP 500 เมื่อเข้าสู่ระบบ

เพิ่มเติม

ช่อง
gspTopUpResponse TopUpRedirectResponse

ต้องระบุ: คำตอบแบบเติมเงิน ค่าที่เข้ารหัสนี้ต้องไม่เกิน 1 KB
redirectRequestId string

ต้องระบุ: requestId ที่ส่งในคำขอการชำระเงินเดิม/เริ่มการเปลี่ยนเส้นทาง Google จะยืนยันว่าข้อมูลนี้ตรงกับ requestId ที่ส่งมา และขั้นตอนการเปลี่ยนเส้นทางที่สมบูรณ์จะล้มเหลวหากไม่ตรงกัน

ข้อกำหนดอื่นๆ เกี่ยวกับกิจกรรม

กิจกรรมที่รองรับการดำเนินการ TOPUP_V1 ที่กล่าวถึงข้างต้นจะต้อง และตรวจสอบด้วยว่าการเรียก API มาจากแอปพลิเคชันที่ Google รับรองเท่านั้น วิธีนี้จะช่วยป้องกันไม่ให้แอปอื่นๆ พยายามเรียกใช้กิจกรรมและ เรียกข้อมูลผู้ใช้ ซึ่งสามารถทำได้โดยใช้ หลังจากนั้นจ่าย StandardPaymentUtils.verifyCallingActivityIsGoogleSigned super.onCreate ใน กิจกรรม การใช้งานของคุณ

ตัวอย่างมีดังนี้


@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  StandardPaymentsUtils.verifyCallingActivityIsGoogleSigned(this);

  ....
}

กิจกรรมทั้งหมดเรียกใช้ภายในขั้นตอนการเติมเงินต้องระบุกิจกรรม ธีมที่มี windowIsTranslucent=true ต้องดำเนินการด้วย แอตทริบิวต์ android:theme ของ AndroidManifest และไม่ได้ใช้ Context.setTheme() แบบเป็นโปรแกรม การตั้งค่าธีมทำงานไม่ถูกต้องสำหรับหน้าต่าง ความโปร่งแสง Google จะบังคับให้กิจกรรมแรกที่เปิดตัวเป็นไปตาม แต่กิจกรรมย่อยใดๆ ที่เปิดตัวด้วยต้องเป็นไปตาม รูปแบบ ไม่เช่นนั้น การซื้อจากนักพัฒนาซอฟต์แวร์บุคคลที่สามอาจใช้งานไม่ได้