>  Q&A  >  본문

java - 支付系统的预发布环境如何搭建

支付系统涉及到很多回调通知,如何把第三方回调重定向到预发布环境上,特定的一些测试的url走预发布环境,其他的回调通知还是走生产环境(利用订单号区分?很多第三方回调的url很怪异)

例如:

腾讯退款

TenpayNotify?action=tenpayresp&bank_billno=20160803011500205322&bank_type=0&discount=0&fee_type=1&input_charset=UTF-8&notify_id=0nWEkl9GQh292zuCI_YLZLgR2Ssac_lVMSsrwGYIdhZ7VgyZnQQo5Lv_meAWZPoOnQBdsaoWNyf79rj19w1Yot_uIS23xaiw&out_trade_no=160803021511209902&partner=1215937301&product_fee=1&sign_type=MD5&time_end=20160803170601&total_fee=1&trade_mode=1&trade_state=0&transaction_id=1215937301201608031800471550&transport_fee=0&sign=7C4E4146C0C753A7B67B590EFC276F1F

阿里安全支付

aliwappayNotify?action=callback&out_trade_no=15071468688519260215&request_token=requestToken&result=success&trade_no=2015071421001004900020905555&sign=iEo0%2FjTi7wdfBH1ceMD1vfMsuR360%2FcNzvk2Gp751jdeHFs%2F%2Bn6KqlEJn5xgU3CF5rFIML4Pzhowi7Vj0WDHRqS8WDYRGqSzbHYXyjpC0tOza%2BNXOSbSTDiMjA6d8O8BwybAHt%2FmEbyq7UjTpmELrmhjB8P6t7ysWI76zqoNt7g%3D&sign_type=0001

支付宝回调

action=alipayresp&body=%E8%BF%85%E9%9B%B7%E7%99%BD%E9%87%91%E4%BC%9A%E5%91%98&buyer_email=yulinfeng007%40163.com&buyer_id=2088102231970203&exterface=create_direct_pay_by_user&is_success=T&notify_id=RqPnCoPT3K9%252Fvwbh3InWf0XaGKI%252Bxji3mqOogfL8SaB4E%252BINCw%252Fs29ny5j5FhlLjhTSG&notify_time=2016-08-22+14%3A31%3A15&notify_type=trade_status_sync&out_trade_no=16082218455489530210&payment_type=1&seller_email=incomexl%40xunlei.com&seller_id=2088001933470180&subject=%E8%BF%85%E9%9B%B7%E7%99%BD%E9%87%91%E4%BC%9A%E5%91%98&total_fee=0.01&trade_no=2016082221001004200219501239&trade_status=TRADE_SUCCESS&sign=d03c9a26a9e68cfe8f0d0368dc993144&sign_type=MD5

回调地址的配置有一些是在第三方配置的,有一些是自己系统传给第三方的

问题难点在于切换回调通知到预发布环境和生产环境

有没大神做过类似支付系统的预发布环境,谢谢分享啦~~

PHP中文网PHP中文网2741일 전959

모든 응답(2)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-04-18 10:13:40

    테스트 환경과 공식 환경에서는 서로 다른 주문 번호 생성 규칙을 사용합니다. 제3자 콜백 중에 판매자가 제출한 일부 매개변수가 있어야 합니다. 예를 들어 테스트 환경에서 주문에 test 접두사를 추가하면 nginx 측의 매개변수를 기반으로 라우팅 규칙을 만들 수 있으며 다음 예시를 통해 테스트할 수 있습니다.

    으아아아

    테스트 요청 주문 번호: http://[ip]/notify?tradeNo=test55555
    정식 요청 주문 번호: http://[ip]/notify?tradeNo=5555

    Nginx 구성 조직
    Nginx 공식 문서

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-18 10:13:40

    프로덕션 환경은 도메인 이름 url에 바인딩되고, 시험판 환경은 도메인 이름 url_pre에 바인딩됩니다.

    구성 파일을 사용한 URL 관리

    이런 방식으로 코드는 두 환경의 서로 다른 URL 구성을 읽어서 코드가 동일한지 확인할 수 있습니다.

    결제 요청 제출 시 알림 URL 주소를 전달하라는 메시지가 나오므로 사전 출시의 경우 url_pre, 프로덕션 환경의 경우 url을 전달하면 됩니다

    회신하다
    0
  • 취소회신하다