PayConfig.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace app\admin\validate\shopro;
  3. use think\Validate;
  4. class PayConfig extends Validate
  5. {
  6. protected $rule = [
  7. 'name' => 'require',
  8. 'type' => 'require',
  9. 'params' => 'require|array',
  10. 'mode' => 'require', // 模式必选
  11. 'mch_id' => 'require',
  12. 'mch_secret_key' => 'require',
  13. 'mch_secret_cert' => 'require',
  14. 'mch_public_cert_path' => 'require',
  15. 'sub_mch_id' => 'requireIf:mode,2',
  16. 'app_id' => 'requireIf:mode,2', // 这个支付宝也用这个 app_id 参数名,这里有点问题,支付宝普通模式如果不填这里验证拦不住
  17. 'sub_mch_secret_key' => 'requireIf:mode,2',
  18. 'sub_mch_secret_cert' => 'requireIf:mode,2',
  19. 'sub_mch_public_cert_path' => 'requireIf:mode,2',
  20. // 支付宝参数校验
  21. 'service_provider_id' => 'requireIf:mode,service',
  22. 'alipay_public_cert_path' => 'require',
  23. 'app_public_cert_path' => 'require',
  24. 'alipay_root_cert_path' => 'require',
  25. 'private_key' => 'require',
  26. ];
  27. protected $message = [
  28. 'name.require' => '请填写支付配置名称',
  29. 'type.require' => '请选择支付配置类型',
  30. 'params.require' => '请填写正确的支付参数',
  31. 'params.array' => '请填写正确的支付参数',
  32. // 微信支付参数校验
  33. 'mode.require' => '请选择商户类型',
  34. 'app_id.requireIf' => '请填写商户相关 AppId', // 这个支付宝也用这个 app_id 参数名
  35. 'mch_id.require' => '请填写商户 ID',
  36. 'mch_secret_key.require' => '请填写商户密钥',
  37. 'mch_secret_cert.require' => '请上传商户 key 证书',
  38. 'mch_public_cert_path.require' => '请上传商户证书',
  39. 'sub_mch_id.requireIf' => '请填写子商户 ID',
  40. 'sub_mch_secret_key.requireIf' => '请填写子商户密钥',
  41. 'sub_mch_secret_cert.requireIf' => '请上传子商户 key 证书',
  42. 'sub_mch_public_cert_path.requireIf' => '请上传子商户证书',
  43. // 支付宝参数校验
  44. 'service_provider_id.requireIf' => '请填写主商户 ID',
  45. 'alipay_public_cert_path.require' => '请上传支付宝公钥证书',
  46. 'app_public_cert_path.require' => '请上传应用公钥证书',
  47. 'alipay_root_cert_path.require' => '请上传支付宝根证书',
  48. 'app_secret_cert.require' => '请填写支付宝私钥',
  49. ];
  50. protected $scene = [
  51. 'add' => ['name', 'type', 'params'],
  52. 'wechat' => ['mode', 'mch_id', 'mch_secret_key', 'mch_secret_cert', 'mch_public_cert_path', 'app_id', 'sub_mch_id'],
  53. 'alipay' => ['mode', 'service_provider_id', 'app_id', 'alipay_public_cert_path', 'app_public_cert_path', 'alipay_root_cert_path', 'app_secret_cert'],
  54. ];
  55. }