AlipayModule.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package main.java.com.dvastarter.alipay;
  2. import com.alipay.sdk.app.PayTask;
  3. import com.facebook.react.bridge.Arguments;
  4. import com.facebook.react.bridge.Promise;
  5. import com.facebook.react.bridge.ReactApplicationContext;
  6. import com.facebook.react.bridge.ReactContextBaseJavaModule;
  7. import com.facebook.react.bridge.ReactMethod;
  8. import com.facebook.react.bridge.WritableMap;
  9. import java.util.Map;
  10. public class AlipayModule extends ReactContextBaseJavaModule {
  11. public AlipayModule(ReactApplicationContext reactContext) {
  12. super(reactContext);
  13. }
  14. @Override
  15. public String getName() {
  16. return "Alipay";
  17. }
  18. @ReactMethod
  19. public void pay(final String orderInfo, final Promise promise) {
  20. Runnable payRunnable = new Runnable() {
  21. @Override
  22. public void run() {
  23. WritableMap map = Arguments.createMap();
  24. PayTask alipay = new PayTask(getCurrentActivity());
  25. Map<String, String> result = alipay.payV2(orderInfo, true);
  26. for (Map.Entry<String, String> entry : result.entrySet())
  27. map.putString(entry.getKey(), entry.getValue());
  28. promise.resolve(map);
  29. }
  30. };
  31. // 必须异步调用
  32. Thread payThread = new Thread(payRunnable);
  33. payThread.start();
  34. }
  35. }