银联在线支付怎么开通后申请退款等多久

君,已阅读到文档的结尾了呢~~
银联在线支付退货及常见问题处理指引1.0.3. 银联在线支付退货及常见问题处理指引. 中国银联互联网部. 二零一二年四月. 版本控制信息 ...
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
银联在线支付退货及常见问题处理指引 - 中国银联
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口j2ee(11)
历时两周,终于把银联支付退款搞定了。由于没人指导,走了不少弯路,博主在此贴出相关代码,希望能帮到像我一样没人指导的小伙伴。
1:支付,退款流程。
2:支付的相关准备
去官网下载sdk,官网相关地址会在本文结尾出提供
下载官网的测试配置文件acp_sdk.properties,测试相关证书acp_test_enc.cer,acp_test_sign.pfx,修改acp_sdk.properties后放在classpath下,如果要用生产环境,相关证书文件有四个,配置文件也有对应的生产环境证书。
如果支付成功后是跳转页面,则需要准备相关页面,如果是java代码拼接字符串,需要准备相关的java类,用来动态生产html页面。
3:支付,退款相关代码
1:代码结构
2:AutoLoadServlet
import mon.pay.chinapay.sdk.SDKC
import javax.servlet.ServletC
import javax.servlet.ServletE
import javax.servlet.http.HttpS
* 功能:从应用的classpath下加载acp_sdk.properties属性文件并将该属性文件中的键值对赋值到SDKConfig类中 &br&
public class AutoLoadServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
SDKConfig.getConfig().loadPropertiesFromSrc();
super.init();
3:CharsetEncodingFilter
import mon.pay.chinapay.config.ChinapayC
import java.io.IOE
import javax.servlet.F
import javax.servlet.FilterC
import javax.servlet.FilterC
import javax.servlet.ServletE
import javax.servlet.ServletR
import javax.servlet.ServletR
public class CharsetEncodingFilter implements Filter {
public void destroy() {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding(ChinapayConfig.encoding_UTF8);
response.setContentType("text/ charset="+ ChinapayConfig.encoding_UTF8);
chain.doFilter(request, response);
public void init(FilterConfig filterConfig) throws ServletException {
4:ChinapayConfig
import java.text.SimpleDateF
import java.util.D
public class ChinapayConfig {
public static String FRONTURL = "fontrev";
public static String BACKURL = "backrev";
public static String encoding_UTF8 = "UTF-8";
public static String version = "5.0.0";
public static String getCurrentTime() {
return new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
public static String getOrderId() {
return new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
招商银行借记卡:0048
密码:111101
短信验证码:123456(手机)/111111(PC)(先点获取验证码之后再输入)
证件类型:01
证件号:303
姓名:张三
5:CYChinaPayController
@Controller
@RequestMapping(value = "/CYChinapay")
public class CYChinaPayController {
Logger logger = Logger.getLogger(AliPayController.class);
@Autowired
private IMobileCyDishorderService mobileCyDishorderS
@Autowired
private IMobileServiceStyleService mobileServiceStyleS
@RequestMapping("/{order_nbr}")
public String pay(@PathVariable String order_nbr, HttpServletRequest request, HttpServletResponse response) {
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort();
CyDishorderEntity order = (CyDishorderEntity) mobileCyDishorderService.findOne("orderNum", order_nbr);
Map&String, String& requestData = new HashMap&String, String&();
requestData.put("version", ChinapayConfig.version);
requestData.put("encoding", ChinapayConfig.encoding_UTF8);
requestData.put("signMethod", "01");
requestData.put("txnType", "01");
requestData.put("txnSubType", "01");
requestData.put("bizType", "000201");
requestData.put("channelType", "08");
requestData.put("merId", ChinapayConfig.MERID);
requestData.put("accessType", "0");
requestData.put("orderId", order_nbr);
requestData.put("txnTime", ChinapayConfig.getCurrentTime());
requestData.put("currencyCode", "156");
BigDecimal totPrice = null;
totPrice = new BigDecimal(order.getPayMoney());
requestData.put("txnAmt", String.valueOf((totPrice.multiply(new BigDecimal(100))).longValue()));
requestData.put("frontUrl", basePath + "/CYChinapay/" + ChinapayConfig.FRONTURL);
requestData.put("backUrl", basePath + "/CYChinapay/" + ChinapayConfig.BACKURL);
logger.info("回调地址"+basePath + "/CYChinapay/" + ChinapayConfig.FRONTURL);
logger.info("回调地址"+basePath + "/CYChinapay/" + ChinapayConfig.BACKURL);
Map&String, String& submitFromData = AcpService.sign(requestData, ChinapayConfig.encoding_UTF8);
String requestFrontUrl = SDKConfig.getConfig().getFrontRequestUrl();
String html = AcpService.createAutoFormHtml(requestFrontUrl, submitFromData, ChinapayConfig.encoding_UTF8);
response.getWriter().write(html);
} catch (Exception e) {
e.printStackTrace();
return null;
private static Map&String, String& valideData(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String encoding = req.getParameter(SDKConstants.param_encoding);
Map&String, String& reqParam = getAllRequestParam(req);
Map&String, String& valideData = null;
if (null != reqParam && !reqParam.isEmpty()) {
Iterator&Map.Entry&String, String&& it = reqParam.entrySet().iterator();
valideData = new HashMap&String, String&(reqParam.size());
while (it.hasNext()) {
Map.Entry&String, String& e = it.next();
String key = (String) e.getKey();
String value = (String) e.getValue();
value = new String(value.getBytes(encoding), encoding);
valideData.put(key, value);
return valideD
@RequestMapping(value = "/backrev")
public void BackRcv(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
logger.info("[进入银联支付回调方法]");
String encoding = req.getParameter(SDKConstants.param_encoding);
Map&String, String& reqParam = getAllRequestParam(req);
Map&String, String& valideData = valideData(req, resp);
PrintWriter out = null;
out = resp.getWriter();
if (!AcpService.validate(valideData, encoding)) {
logger.info("验证签名结果[失败].");
out.write(CyReturnPayEndHtml.failedHtml(valideData.get("orderId"), "验证签名失败", Const.validateFaliUrl));
logger.info("验证签名结果[成功].");
String respCode = valideData.get("respCode");
if ("00".equals(respCode)) {
if (订单支付成功后) {
resp.getWriter().print("ok");
LogUtil.writeLog("BackRcvResponse接收后台通知结束");
@RequestMapping("/fontrev")
public void fontrev(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("utf-8");
response.setContentType("text/ charset=utf-8");
PrintWriter out = null;
out = response.getWriter();
logger.info("FrontRcvResponse前台接收报文返回开始");
String encoding = request.getParameter(SDKConstants.param_encoding);
logger.info("返回报文中encoding=[" + encoding + "]");
Map&String, String& respParam = getAllRequestParam(request);
LogUtil.printRequestLog(respParam);
Map&String, String& valideData = valideData(request, response);
if (!AcpService.validate(valideData, encoding)) {
logger.info("验证签名结果[失败].");
out.write(CyReturnPayEndHtml.failedHtml(valideData.get("orderId"), "验证签名失败", Const.validateFaliUrl));
String respCode = valideData.get("respCode");
if ("00".equals(respCode)) {
logger.info("验证签名结果[成功]");
out.write(CyReturnPayEndHtml.failedHtml(valideData.get("orderId"), "银联支付失败", Const.validateFaliUrl));
out.flush();
out.close();
private String updateOrder(Map&String, String& valideData) {
return valideData.get("orderId");
@ResponseBody
@RequestMapping("/Refund/{order_nbr}")
public String doPost(@PathVariable String order_nbr, HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String basePath = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort();
CyDishorderEntity order = (CyDishorderEntity) mobileCyDishorderService.findOne("orderNum", order_nbr);
Map&String, String& data = new HashMap&String, String&();
data.put("version", ChinapayConfig.version);
data.put("encoding", ChinapayConfig.encoding_UTF8);
data.put("signMethod", "01");
data.put("txnType", "04");
data.put("txnSubType", "00");
data.put("bizType", "000201");
data.put("channelType", "07");
data.put("merId", ChinapayConfig.MERID);
data.put("accessType", "0");
data.put("orderId", ChinapayConfig.getOrderId());
data.put("txnTime", ChinapayConfig.getCurrentTime());
data.put("currencyCode", "156");
data.put("txnAmt",String.valueOf((new BigDecimal(order.getPayMoney()).multiply(new BigDecimal(100))).intValue()));
data.put("backUrl", basePath + "/CYChinapay/refundBack");
data.put("origQryId", order.getRefund_queryid());
Map&String, String& reqData = AcpService.sign(data, ChinapayConfig.encoding_UTF8);
String url = SDKConfig.getConfig().getBackRequestUrl();
System.out.print("backurl:" + url);
Map&String, String& rspData = AcpService.post(reqData, url, ChinapayConfig.encoding_UTF8);
if (!rspData.isEmpty()) {
if (AcpService.validate(rspData, ChinapayConfig.encoding_UTF8)) {
LogUtil.writeLog("验证签名成功");
String respCode = rspData.get("respCode");
LogUtil.writeLog("respCode-------------------------------------------------"+respCode);
if ("00".equals(respCode)) {
return "申请退款成功!等待银联处理";
} else if ("03".equals(respCode) ||
"04".equals(respCode) ||
"05".equals(respCode)) {
return "退款失败";
return "退款失败";
LogUtil.writeErrorLog("验证签名失败");
return "退款失败";
LogUtil.writeErrorLog("未获取到返回报文或返回http状态码非200");
return "退款失败";
@RequestMapping(value = "/refundBack", method = RequestMethod.POST)
public void refundBack(HttpServletRequest req, HttpServletResponse resp) throws Exception {
String encoding = req.getParameter(SDKConstants.param_encoding);
LogUtil.writeLog("进入退款后台回调-------------------------------------------------");
Map&String, String& reqParam = getAllRequestParam(req);
LogUtil.printRequestLog(reqParam);
Map&String, String& valideData = null;
if (null != reqParam && !reqParam.isEmpty()) {
Iterator&Map.Entry&String, String&& it = reqParam.entrySet().iterator();
valideData = new HashMap&String, String&(reqParam.size());
while (it.hasNext()) {
Map.Entry&String, String& e = it.next();
String key = e.getKey();
String value = e.getValue();
value = new String(value.getBytes(encoding), encoding);
valideData.put(key, value);
if (!AcpService.validate(valideData, encoding)) {
LogUtil.writeLog("验证签名结果[失败].");
LogUtil.writeLog("验证签名结果[成功].");
String respCode = valideData.get("respCode");
LogUtil.writeLog("respCode:-------" + respCode);
LogUtil.writeLog("respCodeflg:-------" + respCode.equals("00"));
if (respCode.equals("00")) {
LogUtil.writeLog("BackRcvResponse接收后台通知结束");
resp.getWriter().print("ok");
public static Map&String, String& getAllRequestParam(
final HttpServletRequest request) {
Map&String, String& res = new HashMap&String, String&();
Enumeration&?& temp = request.getParameterNames();
if (null != temp) {
while (temp.hasMoreElements()) {
String en = (String) temp.nextElement();
String value = request.getParameter(en);
res.put(en, value);
if (res.get(en) == null || "".equals(res.get(en))) {
res.remove(en);
6.订单状态枚举类
/**订单状态枚举类
public enum CyOrderStatusEnum {
NO_PAYMENT("0","未支付"),
PREPAID("1","已支付"),
APPLYCANCEL("2","取消订单"),
CANCEL("3","已取消"),
AWARDING("4","正在授理..."),
REFUND_SUCCESS("5","退款完成"),
NET_ERROR("net_error", "网络异常,请稍后重试");
private CyOrderStatusEnum(String code, String desc) {
this.code =
this.desc =
public static CyOrderStatusEnum codeOf(String code) {
if(code == null) {
return NET_ERROR;
CyOrderStatusEnum[] arr$ = values();
int len$ = arr$.
for(int i$ = 0; i$ & len$; ++i$) {
CyOrderStatusEnum rtnCodeEnum = arr$[i$];
if(code.equals(rtnCodeEnum.getCode())) {
return rtnCodeE
return NET_ERROR;
public String getCode() {
public void setCode(String code) {
this.code =
public String getDesc() {
public void setDesc(String desc) {
this.desc =
7.支付成功后,java动态生成成功跳转页面,和失败跳转页面。
* @author hff
* 点餐预定支付返回
public class CyReturnPayEndHtml {
private static StringBuffer stringBuffer =
private static StringBuffer headHtml(boolean isSuccess){
if (isSuccess){
stringBuffer.append("&");
stringBuffer.append("
name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1\"&");
stringBuffer.append("
charset=\"UTF-8\"&");
stringBuffer.append("
rel=\"stylesheet\" href=\"http:///ionicons/2.0.1/css/ionicons.min.css\"&");
stringBuffer.append("
rel=\"stylesheet\" href=\"http://资源路径\"&");
stringBuffer.append("
type=\"text/css\"&");
.paySuccess ,.paySuccess {text-align: center;line-height: 1.6;}.paySuccess
.i_icon{display: inline-block;width: 130px;height: 130px;font-size: 100px;color: green;}.paySuccess
,.paySuccess
{color: #ff5409;font-weight: normal;}.paySuccess
.i_icon{display: inline-block;font-size: 20px;color: #555;padding-right: 5px;}");
stringBuffer.append("
&支付成功&");
stringBuffer.append("&");
return stringB
private static StringBuffer javascript(String orderNum, String orderno, String url, boolean b){
stringBuffer.append(" src=\"https:///jquery-1.9.1.min.js\"&&");
stringBuffer.append(" src=\"js,css等资源路径"&&");
stringBuffer.append("&");
stringBuffer.append("
function waitToIndex(){");
stringBuffer.append("
var second = 3;");
stringBuffer.append("
setInterval(function(){");
stringBuffer.append("
if(second & 0){");
stringBuffer.append("
$(\"#spanSecond\").html(second);");
stringBuffer.append("
second--;");
stringBuffer.append("
stringBuffer.append("
gotoIndex();");
stringBuffer.append("
stringBuffer.append("
},1000);");
stringBuffer.append("
stringBuffer.append("
function gotoIndex(){");
stringBuffer.append("
window.location.href='"+url+"'"+";");
stringBuffer.append("
stringBuffer.append("
var num = 10;");
stringBuffer.append("
function isSuccess(){");
stringBuffer.append("
$.post('查询订单的路径"+orderno+"',{},function(res){");
stringBuffer.append("
if(res.rtnCode == '0000000'){");
stringBuffer.append("
var resutl = res.bizD");
stringBuffer.append("
if (resutl.orderStatus == '1') {");
stringBuffer.append("
var timer1 = setInterval(function () {");
stringBuffer.append("
if (num & 0) {");
stringBuffer.append("
stringBuffer.append("
isSuccess();");
stringBuffer.append("
} else {");
stringBuffer.append("
clearInterval(timer1);");
stringBuffer.append("
$('#outing').hide();");
stringBuffer.append("
$('#outSuccess').show();");
stringBuffer.append("
waitToIndex();");
stringBuffer.append("
stringBuffer.append("
},1000);");
stringBuffer.append("
stringBuffer.append("
stringBuffer.append("
stringBuffer.append("
stringBuffer.append("
isSuccess();");
stringBuffer.append("
waitToIndex();");
stringBuffer.append("&");
return stringB
public static String successHtml(String orderNum, String orderNo, String url){
stringBuffer = new StringBuffer();
stringBuffer.append("&!DOCTYPE html&");
stringBuffer.append("&");
headHtml(true);
stringBuffer.append(" src=\"https:///jquery-1.9.1.min.js\"&&");
stringBuffer.append(" src=\"相关js,css的路径"&&");
stringBuffer.append("&");
stringBuffer.append("
class=\"p10 paySuccess\"&");
stringBuffer.append("
& class=\"ion-checkmark-circled i_icon\"&&&");
stringBuffer.append("
id=\"paySuccess\"&");
stringBuffer.append("
支付成功");
stringBuffer.append("
id=\"scores\"&&");
stringBuffer.append("
stringBuffer.append("
id=\"outing\"& class=\"ion-load-a i_icon\"&&正在点餐预定....&");
stringBuffer.append("
id=\"outSuccess\" style=\"display: none;\"&");
stringBuffer.append("
id=\"spanSecond\"&3&秒钟之后 href=\"javascript:gotoIndex()\"&&跳转&&回首页");
stringBuffer.append("
stringBuffer.append("
javascript(orderNum,orderNo, url, true);
stringBuffer.append("&");
stringBuffer.append("&");
return stringBuffer.toString();
public static String failedHtml(String orderNo, String errMsg, String url){
stringBuffer = new StringBuffer();
stringBuffer.append("&!DOCTYPE html&");
stringBuffer.append("&");
headHtml(true);
stringBuffer.append("&");
stringBuffer.append("
class=\"p10 paySuccess\"&");
stringBuffer.append("
& class=\"ion-checkmark-circled i_icon\"&&&");
stringBuffer.append("
id=\"paySuccess\"&");
stringBuffer.append("
支付失败["+errMsg+"]");
stringBuffer.append("
id=\"scores\"&&");
stringBuffer.append("
stringBuffer.append("
id=\"outSuccess\"&");
stringBuffer.append("
id=\"spanSecond\"&3&秒钟之后 href=\"javascript:gotoIndex()\"&&跳转&&回首页");
stringBuffer.append("
stringBuffer.append("
javascript(null,orderNo,url, false);
stringBuffer.append("&");
stringBuffer.append("&");
return stringBuffer.toString();
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal("0.12");
BigDecimal b2 = new BigDecimal("0.01");
System.out.println(b1.subtract(b2).toString());
4.注意事项(可能会出错的地方)
1:开发环境分为测试环境和生产环境
2:不管什么环境,银联相关证书一定要一一对应。
3:若是生产环境的证书有四个,缺一不可,测试环境有两个
4:开发过程中测试环境无法测试回调接口,必须为外网测试,因为这里的回调接口是银联通过外网来回调的。
5:支付发起所需的参数缺一不可,格式一定要规范,符合规则,只有这样才能生成正确的请求报文。
6:支付的两个回调接口,一个回调接口一般叫做frontUrl,这个地址是由用户点击返回商户的时候银联才会调用。另外一个回调接口叫做backUrl,这个地址是银联接到支付请求后异步回调的接口,一般网站的业务逻辑在此处处理。
7:如果要做退款,一定要有退款流水号,支付流水号。
8:退款时,需要拿着接口对应的参数,以及对应的支付流水号去发起退款申请。退款分为交易撤销和交易退货,撤销只能处理当日的订单。
9:不管是支付,退款,回调接口,当出现问题时,一定要仔细产看银联的响应报文,只要请求报文格式正确,银联收到请求,它一定会给响应,通过响应respCode和respMsg来判断接口的问题出自哪里。
10:交易金额都是以分为单位,不能有小数点,金额参数一定要做去小数点处理。
11:银联官网测试环境提供了测试参数,项目没有用生产环境的时候,可以用测试参数来测试。
5.银联官网相关网址
在开发过程中可能需要的网址整理。
官网demo,文档及sdk下载链接:
/ajweb/help/file/techFile?productId=1
官网api链接:
/ajweb/help/api
常见问题查看平台:
/ajweb/help/faq/list?id=140&level=0&from=1
银联社区链接:
/upbbs/forum/topic?id=4
以上博文是自己做完支付后的总结,有不正确的地方,还望各位路过的大牛批评指正。针对以上代码若有疑问,请加群:qq群号
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:17181次
排名:千里之外
原创:36篇
转载:15篇
(10)(6)(16)(6)(1)(1)(4)(1)(1)(1)(1)(4)(1)中国银联欢迎你!
您当前的位置: |
在线咨询:
服务时间:全天24小时
银行合作:(+86)21- 转 银行服务部&
品牌与赞助:(+86)21- 转 品牌部
服务时间:周一至周五, 8:30- 17:00
商户合作:
服务时间:周一至周日, 8:30- 20:30
中国银联总部
地址:中国上海市浦东新区含笑路36号银联大厦
邮编:200135
电话:(+86)21-
传真:(+86)21-(办公室)
为了给您提供更加优质、高效的电话转接服务,请您在拨打总部总机电话时,尽量提供需要联系的部门名称和人员姓名。由此给您带来的不便,敬请谅解!
银联国际有限公司&
地址: 中国上海市浦东新区东方路6号
电话: 86-21-
传真: 86-21-
地址:上海市虹口区吴淞路218号宝矿国际大厦7层
邮编:200080
电话:021-
地址:广州市天河高新技术开发区工业园建中路61号
邮编:510665
电话:020-
地址:深圳市福田区深南大道4001号时代金融中心8楼
邮编:518034
地址:西城区闹市口大街1号院长安兴融中心2号楼4层
邮编:100031
电话:010-
地址:南京市中山南路414号14层
邮编:210006
电话:025-
地址:杭州市延安路528号标力大厦27-28层
邮编:310006
地址:武汉市建设大道618号武银大厦17楼
邮编:430015
电话:027-
地址:天津市河西区郁江道21号三源振河科技园4号楼2门1-3层
邮编:300221
电话:022-
地址:济南市高新区舜风路1006号
邮编:250101
地址:福州市台江区曙光路132号申发大厦26层
邮编:350009
地址:厦门市湖滨东路11号邮电广通大厦25层
邮编:361004
传真:5899315
地址:沈阳市沈河区市府大路261号金融大厦2楼
邮编:110013
电话:024-
地址:辽宁省大连市西岗区新开路99号珠江国际大厦6层
邮编:116011
地址:青岛市香港中路6号世界贸易中心B座5层
邮编:266071
地址:云南省昆明市东风西路123号三合商利8楼
邮编:650031
传真:0转0
地址:长沙市芙蓉中路267号东成大厦11楼
邮编:410011
地址:郑州市金水路266号国家开发银行大厦裙楼3楼
邮编:450000
地址:海口市滨海大道83号琼泰大厦12层
邮编:570105
地址:宁波市江东区中山东路796号东航大厦16楼
邮编:315040
地址:四川省成都市航空路1号国航世纪中心B栋6楼
邮编:610051
电话:028-
传真:028-
地址:贵州省贵阳市富水北路68号物资大厦21层
邮编:550001
传真:0851-
地址:西安市高新区唐延路37号CLASS国际公馆B栋15层&
邮编:710075
电话: 029-
地址:石家庄市新华路199号华海环球广场23楼
邮编:050051
地址:重庆市渝中区青年路38号国贸中心36楼
邮编:400010
电话:023-
地址: 合肥市马鞍山路绿地赢海国际大厦C座20层
邮编:230051
传真:2691599
地址:江西省南昌市红谷滩会展路199号红谷大厦A座18楼
邮编:330038
传真:3980999
地址:吉林省长春市自由大路4755号鸿石国际17楼
邮编:130033
内蒙古分公司
地址:呼和浩特市赛罕区鄂尔多斯东街12号银联大厦9楼
邮编: 010070
传真: 6934065
地址:山西省太原市南内环街98-2号财富国际大厦16层东
邮编:030002
传真:3338204
西藏分公司
地址:西藏自治区拉萨市德吉北路38号拉威阳光城5楼
邮编:850000
传真:6333558
广西分公司
地址:南宁市民族大道137号永凯大厦21楼
邮编:530028
传真:5505563
地址:黑龙江省哈尔滨市道里区友谊路111号新吉财富大厦16楼
邮编:150010
甘肃分公司
地址:兰州市东岗西路638号兰州财富中心16层
邮编:730000
青海分公司
地址:青海省西宁市城中区西大街42号西宁三田世纪广场27层
邮编:810000
宁夏分公司
地址:银川市金凤区北京中路61号信通大厦8楼
邮编:750002
地址:新疆乌鲁木齐市天山区金银路53号金融大厦14层
邮编:830001
如需查看银联国际各代表处联系信息,请点击
暂无相关文章}

我要回帖

更多关于 企业银联在线支付申请 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信