动漫在线高清在线完整版免费观看,欧美天天澡天天爽日日a,亚洲午夜无码久久久久,女人被躁到高潮嗷嗷叫在线视频,精品国产精品久久一区免费式

app和(he)h5怎樣對接(jie)支付寶支付接(jie)口?

1.支付寶開放平臺//open.alipay.com 新增應用并簽約手機網站支付/APP支付。
2.服務端使用java, 集成支付寶sdk。
3.為(wei)方(fang)(fang)便以(yi)后更多(duo)支(zhi)(zhi)付(fu)方(fang)(fang)式擴展, 先(xian)定義(yi)接口, 需要新(xin)的支(zhi)(zhi)付(fu)方(fang)(fang)式只需實現該接口, 以(yi)支(zhi)(zhi)付(fu)寶為(wei)例。

public interface AliPayConfig {

		    /**
		     * 獲取 App ID
		     *
		     * @return App ID
		     */
		    String getAppID();
		
		
		    /**
		     * 獲取 APP_PRIVATE_KEY
		     *
		     * @return APP_PRIVATE_KEY
		     */
		    String getAppPrivateKey();
		
		
		    /**
		     * 獲取 ALIPAY_PUBLIC_KEY
		     *
		     * @return ALIPAY_PUBLIC_KEY
		     */
		    String getAlipayPublicKey();
		
		
		    /**
		     * 獲取 支付寶網關
		     *
		     * @return 支付寶網關
		     */
		    String getAlipayGateway();
		
		    /**
		     * 獲取 json
		     *
		     * @return json
		     */
		    String getFormat();
		
		    /**
		     * 獲取 Charset
		     *
		     * @return Charset
		     */
		    String getCharset();
		
		    /**
		     * 獲取 SignType
		     *
		     * @return SignType
		     */
		    String getSignType();
		}

4.現在想對(dui)接(jie)支付寶的手機支付接(jie)口, 先(xian)實現配(pei)置接(jie)口。

public class AliWapConfig implements AliPayConfig {
		
		    //沙箱賬號
		    private static final String ALIPAY_APP_ID = "";
		    private static final String ALIPAY_GATEWAY = "//openapi.alipaydev.com/gateway.do";
		    private static final String ALIPAY_APP_PRIVATE_KEY = "";
		    private static final String ALIPAY_PUBLIC_KEY = "";
		
		    @Override
		    public String getAppID() {
		        return ALIPAY_APP_ID;
		    }
		
		    @Override
		    public String getAppPrivateKey() {
		        return ALIPAY_APP_PRIVATE_KEY;
		    }
		
		    @Override
		    public String getAlipayPublicKey() {
		        return ALIPAY_PUBLIC_KEY;
		    }
		
		    @Override
		    public String getAlipayGateway() {
		        return ALIPAY_GATEWAY;
		    }
		
		    @Override
		    public String getFormat() {
		        return "json";
		    }
		
		    @Override
		    public String getCharset() {
		        return "UTF-8";
		    }
		
		    @Override
		    public String getSignType() {
		        return "RSA2";
		    }
		}

5.實例化配置對象, 各種(zhong)支付方式(shi)集成(cheng)。

@Configuration
	public class Config {
	
	    @Value("${weixin.pay.useSandbox:false}")
	    private boolean useSandbox;
	
	    @Autowired
	    private OkHttpClient okHttpClient;
	
	    @Bean
	    public WxConfig wxConfig() {
	        return new WxConfig();
	    }
	
	    @Bean
	    public WxMiniConfig wxMiniConfig() {
	        return new WxMiniConfig();
	    }
	
	    @Bean
	    public WxFasterConfig wxFasterConfig() {
	        return new WxFasterConfig();
	    }
	
	    @Bean
	    public AliWapConfig aliWapConfig() {
	        return new AliWapConfig();
	    }
	
	    @Bean("wxAPay")  //微信app_A支付
	    public WXPay wxAPay() {
	        return new WXPay(wxConfig(), WXPayConstants.SignType.MD5, useSandbox, okHttpClient);
	    }
	
	    @Bean("wxMiniPay") //微信小程序支付
	    public WXPay wxMiniPay() {
	        return new WXPay(wxMiniConfig(), WXPayConstants.SignType.MD5, useSandbox, okHttpClient);
	    }
	
	    @Bean("wxBPay") //微信app_B支付
	    public WXPay wxBPay() {
	        return new WXPay(wxFasterConfig(), WXPayConstants.SignType.MD5, useSandbox, okHttpClient);
	    }
	
	    @Bean("aliWapPay")  //支付寶H5支付
	    public AlipayClient aliFasterWapClient() {
	        AliWapConfig config = aliWapConfig();
	        return new DefaultAlipayClient(config.getAlipayGateway(),
	                config.getAppID(), config.getAppPrivateKey(), config.getFormat(), config.getCharset(),
	                config.getAlipayPublicKey(), config.getSignType());
	    }
	}

6.配(pei)置(zhi)類寫好(hao)之后就可以下單了

 public Order order4F(@RequestBody Order order) {
		//生成訂單操作
		
        //先保存訂單信息,供失敗后可以查詢
        saveOrder(order);

        switch (order.getPayType()) {
            case Order.PAY_TYPE_WXPAY://微信支付
                wxOrder(order);
                break;
            case Order.PAY_TYPE_ALIPAY://支付寶支付
                aliOrder4Wap(order); 
                break;
            default:
                break;
        }

        //微信支付更新訂單prepayId
        if (Order.PAY_TYPE_WXPAY.equals(order.getPayType())) {
            saveOrder(order);
        }

        return order;
    }

	
	private void aliOrder4Wap(Order order) {
	        if (!Order.PAY_TYPE_ALIPAY.equalsIgnoreCase(order.getPayType())) {
	            return;
	        }
	
	        AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();
	        alipayRequest.setReturnUrl("//domain.com/CallBack/return_url.jsp");
	        alipayRequest.setNotifyUrl(alipayNotifyUrl);
	        alipayRequest.setBizContent("{" +
	                " \"out_trade_no\":\"" + order.getBizId() + "\"," +
	                " \"total_amount\":\"" + order.getAmount() + "\"," +
	                " \"subject\":\"***\"," +
	                " \"product_code\":\"QUICK_MSECURITY_PAY\"" +
	                " }");//填充業務參數
	        //支付寶返回的form表單
	        String form="";
	        try {
	            form = alipayClient.pageExecute(alipayRequest).getBody();
	            logger.warn("支付寶訂單生成結果:" + form);
	        } catch (AlipayApiException e) {
	            logger.error(e.getErrMsg(), e);
	            ServiceException.builder().setErrorMsg(e.getErrMsg()).throwEx();
	        }
	        
			order.setForm(form);
	    }

7.拿到上面接口返回的(de)form表單, 在前(qian)臺(tai)工(gong)程(cheng)通過response直接返回即可, 剩下的(de)交(jiao)給前(qian)端, 走完支付流(liu)程(cheng)即可,到此結(jie)束(shu)。

回到稻殼網首頁
稻殼客服

掃一掃,微信咨詢

請留下需求和聯系方式,我們即刻為您準備方案
需求提交成功

提交成功

免費服務熱線021-61676039(工作日9:00 ~ 18:00)
×
稻殼客服

掃一掃,微信咨詢