商户发起支付宝单笔转账时报错PAYEE_NOT_EXIST(收款账号不存在) 有什么方法避免这种情况吗
时间: 2023-08-05 11:03:00 浏览: 825
如果商户发起支付宝单笔转账时报错PAYEE_NOT_EXIST(收款账号不存在),可能是因为收款方的账号输入错误或者未实名认证导致的。为避免这种情况,建议商户在发起转账前,首先确认收款方的账号是否正确,并且确保收款方已经完成了实名认证。此外,商户还可以通过调用支付宝提供的账户查询接口来验证收款方的账户是否存在。如果查询结果返回账户不存在的错误码,则说明收款方的账户不存在,商户可以提示用户重新输入正确的账号。
相关问题
java支付宝转账到银行卡_Java 支付宝支付,退款,单笔转账到支付宝账户(单笔转账到支付宝账户)...
要实现Java支付宝转账到银行卡,需要使用支付宝提供的转账接口,具体操作步骤如下:
1. 注册支付宝开发者账号,并创建应用获取应用的 appId、私钥和公钥;
2. 引入支付宝的 Java SDK;
3. 初始化 AlipayClient 对象,设置请求参数;
4. 调用 AlipayFundTransToaccountTransferRequest 请求对象的 setBizContent() 方法设置转账的参数,包括转账的金额、收款人账号和姓名等信息;
5. 调用 AlipayClient 的 execute() 方法发起请求,获取响应结果。
以下是一个示例代码:
```
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayFundTransToaccountTransferRequest;
import com.alipay.api.response.AlipayFundTransToaccountTransferResponse;
public class AlipayTransferDemo {
// 应用的 appId
private static final String APP_ID = "your_app_id";
// 商户私钥
private static final String PRIVATE_KEY = "your_private_key";
// 支付宝公钥
private static final String ALIPAY_PUBLIC_KEY = "alipay_public_key";
// 支付宝网关
private static final String GATEWAY_URL = "https://openapi.alipay.com/gateway.do";
public static void main(String[] args) {
// 初始化 AlipayClient
AlipayClient client = new DefaultAlipayClient(GATEWAY_URL, APP_ID, PRIVATE_KEY, "json", "utf-8", ALIPAY_PUBLIC_KEY, "RSA2");
// 创建转账请求对象
AlipayFundTransToaccountTransferRequest request = new AlipayFundTransToaccountTransferRequest();
// 设置转账参数
request.setBizContent("{\"out_biz_no\":\"201806300001\",\"payee_type\":\"ALIPAY_LOGONID\",\"payee_account\":\"alipay_user_id\",\"amount\":\"1.00\",\"payer_show_name\":\"示例名称\",\"payee_real_name\":\"示例姓名\",\"remark\":\"转账备注\"}");
try {
// 发起转账请求
AlipayFundTransToaccountTransferResponse response = client.execute(request);
if (response.isSuccess()) {
System.out.println("转账成功!");
} else {
System.out.println("转账失败,错误码:" + response.getCode() + ",错误信息:" + response.getMsg());
}
} catch (AlipayApiException e) {
e.printStackTrace();
}
}
}
```
需要注意的是,转账到银行卡需要在支付宝后台进行配置,开通转账到银行卡的功能。开通后,需要使用银行卡转账的接口进行转账操作。
oracle中的sql:SELECT T .PAYEE_CD, T.PAYEE_NM FROM FNT_PAYEE_DEF T WHERE T.PAYEE_DIRECTION_IND = 'S' AND T.STATUS = 'AC' AND REPLACE ( REPLACE ( REPLACE ( REPLACE ( T.PAYEE_NM, ')' ), '(' ), ')' ), '(' ) = REPLACE ( REPLACE ( REPLACE ( REPLACE ( '', ')' ), '(' ), ')' ), '(' ) AND T.FUNDING_ENTITY_CD = '1100' 改成pg数据库sql
在将Oracle SQL转换为PostgreSQL SQL时,需要注意一些语法和函数的差异。以下是将你提供的Oracle SQL查询转换为PostgreSQL SQL的方式:
```sql
SELECT T.PAYEE_CD,
T.PAYEE_NM
FROM FNT_PAYEE_DEF T
WHERE T.PAYEE_DIRECTION_IND = 'S'
AND T.STATUS = 'AC'
AND REPLACE(REPLACE(REPLACE(REPLACE(T.PAYEE_NM, ')', ''), '(', ''), ')', ''), '(', '') = REPLACE(REPLACE(REPLACE(REPLACE('', ')', ''), '(', ''), ')', ''), '(', '')
AND T.FUNDING_ENTITY_CD = '1100';
```
在这个转换过程中,没有涉及到任何函数的替换,只需注意到一些语法和运算符的差异。请注意以下几点:
1. 字符串的替换:Oracle中使用REPLACE函数进行字符串替换,而PostgreSQL中也有相应的REPLACE函数,所以不需要更改。
2. 空字符串的替换:在Oracle中,可以使用连续多个REPLACE函数来删除多个字符。而在PostgreSQL中,可以直接将字符删除以实现相同的效果。
3. 字符串的引号:在Oracle和PostgreSQL中,字符串可以使用单引号或双引号括起来。在这个示例中,只需确保引号的使用一致即可。
请注意,在实际使用PostgreSQL时,可能还需要考虑其他因素,如大小写敏感性、表和列名的引用等。根据你的实际需求和数据库配置,可能需要进行进一步的调整。
阅读全文