C#实现Stripe支付

Stripe支付首页需要引用Stripe.net框架,我引用的是22.8.0版本,注意.NETFramework的版本为4.5,同时需要引用Newtonsoft.Json(版本不能低于9.0.1)和System.Collections.Immutable(版本不低于1.5.0)。

一、前端JS代码如下:

<script src="https://js.stripe.com/v3/"></script>
<script src="https://checkout.stripe.com/checkout.js"></script>
<script type="text/javascript">//Stripe支付var myStripe = {testKey: '<%=ConfigurationManager.AppSettings["pk_liveConfig"] %>', //配置文件中的key 这个从Stripe中取,我就不截图展示了logoImg: "https://stripe.com/img/documentation/checkout/marketplace.png", //抬头的Logo//换卡changeHandler: function (f) {return StripeButton.configure({key: this.testKey,image: f.logoImg || this.logoImg,name: f.title || 'Update Card Detail',panelLabel: f.button || 'Submit',allowRememberMe: false,locale: 'auto',dataKey: this.testKey,token: function (token) {f.email = token.email;f.tokenId = token.id;f.callback(f);}});},payHandler: function (f) {layer.closeAll(0);return StripeCheckout.configure({key: this.testKey,name: f.title || 'Stripe费用',email: f.Email || '',currency: f.currency || 'zxx',amount: f.amount || 0,allowRememberMe: false,image: f.logoImg || this.logoImg,locale: 'auto',token: function (token) {f.tokenId = token.id;f.email = token.email;f.callback(f);}});},changeCard: function (f) {this.changeHandler(f).open();},pay: function (f) {this.payHandler(f).open();},SendMsg: function (uid) {var message = {};message.action = "noticeMember";message.code = 1;message.uid = uid;message.msg = "<div>已有用户购买了该照片!</div>";socketApi.sendMessage(message);}}myStripe.pay({title: 'TEST',currency: 'USD',//币种:美元(USD)、人民币(CNY)、港币(HKD)amount: <%=Convert.ToInt32(acoumt) %> * 100,//金额callback: function (p) {$.ajax({type: 'POST',dataType: 'text',url: '/admin/ajax/PCBAOrdersData.ashx',data: 'param=Pay&email=' + this.email + "&amount=" + this.amount + "&tokenId=" + this.tokenId,success: function (data) {if (data == "succeeded") {location.href = "";//支付成功,跳转页面} else {layer.msg(data);}},error: function () {}})}});
</script>

效果如图所示:

二、后端C#代码如下:

/// <summary>
/// Stripe支付
/// </summary>
public void Pay()
{string Msg = "Payment Failure";try{string tokenId = _Request.GetString("tokenId", "");string amount = _Request.GetString("amount", "0");string email = _Request.GetString("email", "");Stripe.StripeConfiguration.SetApiKey(ConfigurationManager.AppSettings["pk_liveSecretKey"]);var options = new Stripe.ChargeCreateOptions{Amount = Convert.ToInt64(amount),Currency = "USD",//币种:美元(USD)、人民币(CNY)、港币(HKD)SourceId = tokenId,Description = "Stripe支付",//说明ReceiptEmail = email,};var service = new Stripe.ChargeService();Stripe.Charge charge = service.Create(options);Msg = charge.Status;}catch (Exception e){Msg = e.Message;throw e;}finally{HttpContext.Current.Response.Clear();HttpContext.Current.Response.Write(Msg);HttpContext.Current.Response.End();}
}

三、配置文件代码如下:

<appSettings><add key="pk_liveConfig" value="pk_test_XXXXXX"/><!--stripe账号公钥--><add key="pk_liveSecretKey" value="sk_test_XXXXXX"/><!--stripe账号Secret key-->
</appSettings>

Stripe支付的流程就是点击支付按钮就调用myStripe.pay函数去生成token,然后调用callback方法执行后台代码,返回succeeded就是支付成功了

C#实现Stripe支付相关推荐

  1. php集成Stripe支付,海外支付stripe对接支付

    发表于 2017-03-15 09:35:49 by 月小升 strip https:// data-key="pk_test_wIAv7SdDJV2B6zPPUdnXnJCd" ...

  2. 国外stripe支付,超简单几行代码搞定

    国外stripe支付,超简单几行代码搞定 海外的项目 需要stripe支付 很简单 几行代码 先加入依赖: compile 'com.stripe:stripe-android:6.1.2' 总共两种 ...

  3. stripe支付集成

    最近公司要做一下Stripe支付的集成,浅浅地谈一下自己的一点理解 1.stripe是什么? stripe是第三方的支付平台,就像国内的支付宝.微信支付... stripe官方文档:Developer ...

  4. java 对接 stripe支付

    stripe 支付跟国内的 支付宝 .微信.等第三方支付平台不一样 码字不易,开源更不易,点赞收藏关注,多多支持 开源地址  https://gitee.com/J-LJJ/stripe-demo 支 ...

  5. Stripe支付微信小程序端完整解决方案

    最近接了一个国外的微信小程序,要用到Stripe支付,微信小程序本身是推荐微信支付的,所以Stripe支付完全是由后端处理,话不多说上代码. stripe依赖 <!-- stripe --> ...

  6. 简单封装的Stripe支付方法

    最近项目需要用到Stripe支付,于是做了一个简单封装,现在贴出来,也许以后用得着 首先,需要在Stripe官方网站申请注册自己的支付帐号,并获取测试和正式用的前后端校验码. 然后,项目后台需要添加S ...

  7. stripe支付使用指南_Stripe vs Braintree:终极指南

    stripe支付使用指南 If you're developing an app that needs to accept payments, you'll likely consider Strip ...

  8. PHP支付-Stripe支付对接支付宝

    1:安装stripe包 composer require stripe/stripe-php 2:注册stripe账号,获取公钥和秘钥 获取公钥和秘钥 3:对接支付宝 $secret_key = 密钥 ...

  9. Stripe支付相关资料

    1: API文档: https://stripe.com/docs/api 2:JS文档:https://stripe.com/docs/js 3:其他资料:https://blog.csdn.net ...

  10. Stripe支付,国外支付Stripe、跨境支付

    好记星不如烂笔头,这里记录平时工作中用到的东西,不喜可以留言. 美国跨境支付stripe 测试说明,你需要办理至少一张国际信用卡, 比如visa.master.AE(American Express ...

最新文章

  1. windows下安装composer方法
  2. leetcode 167 Two Sum II - Input array is sorted
  3. 初学docker容器
  4. ltrim函数php,php ltrim函数怎么用?
  5. 杭电acm 2024 C语言合法标识符
  6. 挑战iOS!小米全新OS发布:22款机型首发
  7. POJ3287(BFS水题)
  8. I/O Permission Bit Map in Task State Segment(TSS)
  9. STM32工作笔记0075---UCOSIII任务管理(下)
  10. linux是ubuntu还是centos
  11. Linux编译并更新内核(替换Linux内核)
  12. Mac下librdkafka下载安装
  13. 区块链:POA委员会选举机制
  14. c# 接管系统鼠标_4个阶段的方法来接管大型,混乱的IT系统
  15. 柴俊理金:临近公投市场屏息,黄金沥青谨慎而行
  16. 计算机的四个发展史教案,计算机发展史教案
  17. springboot整合阿里云对象存储oss
  18. java 案例 一千例,【发现问题、解决问题系列案例分享(二十一)】 一个自动执行命令,每天节省一千分钟!...
  19. openlayer加载天地图 并设置地图颜色为科技蓝
  20. java中经纬度使用与相关工具类

热门文章

  1. labelme进行图片数据标注
  2. 真实项目之【邀请码活动模块】实现思路
  3. 软件测试面试问题-接口测试
  4. Vue/Nuxt.js仿Tinder|探探翻牌特效|vue仿探探卡片滑动
  5. Linux sz和rz 命令安装
  6. 有了死链接需不需要及时处理,怎么处理?
  7. oracle 优化器 执行计划
  8. mysql分组求topN详解
  9. js中的slice和splice简介
  10. Catia 螺栓设计