การเติมเงินอาจเกิดขึ้นได้ใน 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
|
เพิ่มเติม
ช่อง | |
---|---|
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 จะบังคับให้กิจกรรมแรกที่เปิดตัวเป็นไปตาม
แต่กิจกรรมย่อยใดๆ ที่เปิดตัวด้วยต้องเป็นไปตาม
รูปแบบ ไม่เช่นนั้น การซื้อจากนักพัฒนาซอฟต์แวร์บุคคลที่สามอาจใช้งานไม่ได้