Configuration
Required Permissions​
Add the following permissions to your AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
INTERNET— Required to load the checkout WebView and communicate with WePay servers.ACCESS_NETWORK_STATE— Allows the SDK to check network availability before loading.
Manifest Registration​
The WebViewPaymentActivity is bundled with the SDK and registered automatically via manifest merging. No manual activity registration is required.
If you experience merge conflicts, you can explicitly declare the activity:
<activity
android:name="com.wepay.sdk.payment.WebViewPaymentActivity"
android:exported="false"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
ProGuard / R8​
If you use ProGuard or R8, add these rules to your proguard-rules.pro to prevent SDK classes from being obfuscated:
-keep class com.wepay.sdk.** { *; }
-keepclassmembers class com.wepay.sdk.** { *; }
Network Security​
If your backend or WePay endpoints require specific network security configuration, add a network_security_config.xml:
<!-- res/xml/network_security_config.xml -->
<network-security-config>
<domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="true">api.wepay.com.sa</domain>
<domain includeSubdomains="true">pay.wepay.com</domain>
</domain-config>
</network-security-config>
And reference it in your AndroidManifest.xml:
<application
android:networkSecurityConfig="@xml/network_security_config"
...>