Skip to content

Conversation

@amk-stripe
Copy link
Collaborator

Summary

Add support for PromptPay to PaymentSheet by removing feature flag gating.

Changes:

  • Remove enablePromptPay feature flag from FeatureFlags.kt
  • Update PromptPayDefinition to unconditionally support PromptPay
  • Remove EnablePromptPaySettingsDefinition playground configuration
  • Update TestPromptPay to remove feature flag and currency settings
  • Add CHANGELOG entry

🤖 Generated with Claude Code

Committed-By-Agent: claude

Motivation

https://jira.corp.stripe.com/browse/MOBILESDK-4143

Testing

  • Added tests
  • Modified tests
  • Manually verified

Screenshots

Before After
before screenshot after screenshot

Changelog

Add support for PromptPay to PaymentSheet by removing feature flag gating.

Changes:
- Remove enablePromptPay feature flag from FeatureFlags.kt
- Update PromptPayDefinition to unconditionally support PromptPay
- Remove EnablePromptPaySettingsDefinition playground configuration
- Update TestPromptPay to remove feature flag and currency settings
- Add CHANGELOG entry

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Committed-By-Agent: claude
@github-actions
Copy link
Contributor

github-actions bot commented Dec 1, 2025

Diffuse output:

OLD: paymentsheet-example-release-master.apk (signature: V1, V2)
NEW: paymentsheet-example-release-pr.apk (signature: V1, V2)

          │           compressed           │          uncompressed          
          ├───────────┬───────────┬────────┼───────────┬───────────┬────────
 APK      │ old       │ new       │ diff   │ old       │ new       │ diff   
──────────┼───────────┼───────────┼────────┼───────────┼───────────┼────────
      dex │   4.5 MiB │   4.5 MiB │ +210 B │    10 MiB │    10 MiB │ -236 B 
     arsc │   2.7 MiB │   2.7 MiB │    0 B │   2.7 MiB │   2.7 MiB │    0 B 
 manifest │   5.5 KiB │   5.5 KiB │    0 B │  29.2 KiB │  29.2 KiB │    0 B 
      res │ 928.5 KiB │ 928.5 KiB │    0 B │   1.5 MiB │   1.5 MiB │    0 B 
   native │ 949.9 KiB │ 949.9 KiB │    0 B │   2.5 MiB │   2.5 MiB │    0 B 
    asset │  24.7 KiB │  24.8 KiB │  +32 B │    45 KiB │    45 KiB │  +32 B 
    other │ 195.8 KiB │ 195.8 KiB │  +13 B │ 387.1 KiB │ 387.1 KiB │    0 B 
──────────┼───────────┼───────────┼────────┼───────────┼───────────┼────────
    total │   9.3 MiB │   9.3 MiB │ +255 B │  17.1 MiB │  17.1 MiB │ -204 B 

         │         raw          │             unique             
         ├───────┬───────┬──────┼───────┬───────┬────────────────
 DEX     │ old   │ new   │ diff │ old   │ new   │ diff           
─────────┼───────┼───────┼──────┼───────┼───────┼────────────────
   files │     2 │     2 │    0 │       │       │                
 strings │ 48519 │ 48517 │   -2 │ 47352 │ 47350 │ -2 (+15 -17)   
   types │ 16842 │ 16841 │   -1 │ 16259 │ 16258 │ -1 (+13 -14)   
 classes │ 13604 │ 13603 │   -1 │ 13604 │ 13603 │ -1 (+0 -1)     
 methods │ 67510 │ 67509 │   -1 │ 66783 │ 66782 │ -1 (+648 -649) 
  fields │ 44948 │ 44945 │   -3 │ 44674 │ 44671 │ -3 (+166 -169) 

 ARSC    │ old  │ new  │ diff 
─────────┼──────┼──────┼──────
 configs │  242 │  242 │  0   
 entries │ 6247 │ 6247 │  0
APK
    compressed     │    uncompressed    │                                           
──────────┬────────┼───────────┬────────┤                                           
 size     │ diff   │ size      │ diff   │ path                                      
──────────┼────────┼───────────┼────────┼───────────────────────────────────────────
  4.4 MiB │ +208 B │   9.8 MiB │ -236 B │ ∆ classes.dex                             
  8.7 KiB │  +32 B │   8.6 KiB │  +32 B │ ∆ assets/dexopt/baseline.prof             
 53.6 KiB │  +10 B │ 118.6 KiB │    0 B │ ∆ META-INF/CERT.SF                        
 80.9 KiB │   +2 B │ 192.2 KiB │    0 B │ ∆ classes2.dex                            
  1.2 KiB │   +2 B │   1.2 KiB │    0 B │ ∆ META-INF/CERT.RSA                       
    272 B │   +1 B │     120 B │    0 B │ ∆ META-INF/version-control-info.textproto 
──────────┼────────┼───────────┼────────┼───────────────────────────────────────────
  4.6 MiB │ +255 B │  10.1 MiB │ -204 B │ (total)
DEX
STRINGS:

   old   │ new   │ diff         
  ───────┼───────┼──────────────
   47352 │ 47350 │ -2 (+15 -17) 
  
  + [Lzg/a2;
  + [Lzg/c2;
  + [Lzg/h2;
  + [Lzg/h3;
  + [Lzg/k3;
  + [Lzg/l1;
  + [Lzg/m2;
  + [Lzg/o1;
  + [Lzg/q1;
  + [Lzg/s2;
  + [Lzg/u1;
  + [Lzg/w1;
  + [Lzg/y2;
  + r8-map-id-f7434a66f333f94829978e0fce990de984bd434bc9ba4994b4fcf901231d39b5
  + ~~R8{"backend":"dex","compilation-mode":"release","has-checksums":false,"min-api":21,"pg-map-id":"f7434a66f333f94829978e0fce990de984bd434bc9ba4994b4fcf901231d39b5","r8-mode":"full","version":"8.13.17"}
  
  - Enable PromptPay
  - Lzg/o3;
  - [Lzg/b2;
  - [Lzg/d2;
  - [Lzg/i3;
  - [Lzg/j2;
  - [Lzg/m1;
  - [Lzg/n3;
  - [Lzg/o2;
  - [Lzg/p1;
  - [Lzg/r1;
  - [Lzg/t2;
  - [Lzg/v1;
  - [Lzg/x1;
  - [Lzg/z2;
  - r8-map-id-940dd4a0a30456031f249cd11cf4a49d9258252e36f2bef23549d481cf8cf450
  - ~~R8{"backend":"dex","compilation-mode":"release","has-checksums":false,"min-api":21,"pg-map-id":"940dd4a0a30456031f249cd11cf4a49d9258252e36f2bef23549d481cf8cf450","r8-mode":"full","version":"8.13.17"}
  

TYPES:

   old   │ new   │ diff         
  ───────┼───────┼──────────────
   16259 │ 16258 │ -1 (+13 -14) 
  
  + [Lzg/a2;
  + [Lzg/c2;
  + [Lzg/h2;
  + [Lzg/h3;
  + [Lzg/k3;
  + [Lzg/l1;
  + [Lzg/m2;
  + [Lzg/o1;
  + [Lzg/q1;
  + [Lzg/s2;
  + [Lzg/u1;
  + [Lzg/w1;
  + [Lzg/y2;
  
  - Lzg/o3;
  - [Lzg/b2;
  - [Lzg/d2;
  - [Lzg/i3;
  - [Lzg/j2;
  - [Lzg/m1;
  - [Lzg/n3;
  - [Lzg/o2;
  - [Lzg/p1;
  - [Lzg/r1;
  - [Lzg/t2;
  - [Lzg/v1;
  - [Lzg/x1;
  - [Lzg/z2;
  

METHODS:

   old   │ new   │ diff           
  ───────┼───────┼────────────────
   66783 │ 66782 │ -1 (+648 -649) 
  
  + ci.l0 <init>(m2, String, w0, List, Function1)
  + com.stripe.android.paymentsheet.example.playground.PaymentSheetPlaygroundActivity s(z2, o, int)
  + com.stripe.android.paymentsheet.example.playground.PaymentSheetPlaygroundActivity t(z2, o, int)
  + tg.b0 <init>(PaymentSheetPlaygroundActivity, z2, w0, z3, h2, u, t)
  + tg.f1 <init>(y2, i1, Continuation, int)
  + tg.g1 <init>(z2, i1, Continuation, int)
  + tg.h1 <init>(i1, z2, Continuation)
  + tg.h1 <init>(z2, i1, Continuation)
  + tg.i1 f(i1, String, w1, ContinuationImpl) → Object
  + tg.i1 h(i1, z2, String, ContinuationImpl) → Object
  + tg.l0 <init>(PaymentSheetPlaygroundActivity, z2, int, int)
  + tg.l1 <init>(y2, String)
  + tg.l1 Q() → y2
  + tg.l1 h(l1, y2) → l1
  + tg.m1 <init>(y2, long, List, e2, String, String)
  + tg.m1 Q() → y2
  + tg.m1 h(m1, y2, int) → m1
  + tg.n1 <init>(y2, String, String)
  + tg.n1 Q() → y2
  + tg.o1 Q() → y2
  + yg.b <init>(y2, Context)
  + yg.e <init>(y2, Context)
  + zg.a1 j(Object, y1, m1, q2)
  + zg.a1 n(Object, w, m1, o2)
  + zg.a1 q(i2) → boolean
  + zg.a1 r(boolean, w, m1, o2)
  + zg.a1 s(boolean, y1, m1, q2)
  + zg.a2 <init>(String, int, String)
  + zg.a2 getValue() → String
  + zg.a2 valueOf(String) → a2
  + zg.a2 values() → a2[]
  + zg.a3 j(Object, y1, m1, q2)
  + zg.a3 m(Object, o, l1, j2)
  + zg.a3 n(Object, w, m1, o2)
  + zg.a3 q(i2) → boolean
  + zg.a3 r(boolean, w, m1, o2)
  + zg.a3 s(boolean, y1, m1, q2)
  + zg.a3 v(boolean, o, l1, j2)
  + zg.b0 b(i2) → List
  + zg.b0 c(Object, y1, n1, q2)
  + zg.b0 d(Object, y1, m1, q2, g)
  + zg.b0 i(Object, z2)
  + zg.b0 j(Object, y1, m1, q2)
  + zg.b0 l(Object, u0, m1, p2)
  + zg.b0 m(Object, o, l1, j2)
  + zg.b0 n(Object, w, m1, o2)
  + zg.b0 p() → r2
  + zg.b0 q(i2) → boolean
  + zg.b2 <init>()
  + zg.b2 a() → Object
  + zg.b2 b(i2) → List
  + zg.b2 c(Object, y1, n1, q2)
  + zg.b2 d(Object, y1, m1, q2, g)
  + zg.b2 e(String) → Object
  + zg.b2 f()
  + zg.b2 g(Object, h3)
  + zg.b2 getKey() → String
  + zg.b2 h() → String
  + zg.b2 i(Object, z2)
  + zg.b2 j(Object, y1, m1, q2)
  + zg.b2 k(Object, e)
  + zg.b2 l(Object, u0, m1, p2)
  + zg.b2 m(Object, o, l1, j2)
  + zg.b2 n(Object, w, m1, o2)
  + zg.b2 o(Object) → String
  + zg.b2 p() → r2
  + zg.b2 q(i2) → boolean
  + zg.b2 setValue(Object)
  + zg.b3 k(Object, e)
  + zg.b3 q(i2) → boolean
  + zg.b3 y(boolean, e)
  + zg.b b(i2) → List
  + zg.b c(Object, y1, n1, q2)
  + zg.b d(Object, y1, m1, q2, g)
  + zg.b i(Object, z2)
  + zg.b j(Object, y1, m1, q2)
  + zg.b l(Object, u0, m1, p2)
  + zg.b m(Object, o, l1, j2)
  + zg.b n(Object, w, m1, o2)
  + zg.b p() → r2
  + zg.b q(i2) → boolean
  + zg.c0 c(Object, y1, n1, q2)
  + zg.c0 d(Object, y1, m1, q2, g)
  + zg.c0 i(Object, z2)
  + zg.c0 j(Object, y1, m1, q2)
  + zg.c0 l(Object, u0, m1, p2)
  + zg.c0 m(Object, o, l1, j2)
  + zg.c0 n(Object, w, m1, o2)
  + zg.c0 p() → r
...✂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants