【问题标题】:How to add a shipping address to Stripe using iOS如何使用 iOS 向 Stripe 添加送货地址
【发布时间】:2020-04-02 02:00:04
【问题描述】:

我遵循了 Stripe 和 iOS 的“Accepting Credit Cards In Your iOS App Using Stripe”教程,并成功获得了一笔付款,直到我可以在 Stripe 控制面板中看到订单。

现在我还需要在订单中包含shipping address

在我的应用程序“StripeClient.swift”中:

func completeCharge(with token: STPToken, amount: Double, completion: @escaping (Result) -> Void) {
        let url = baseURL.appendingPathComponent("charge")
        let params: [String: Any] = [
            "token": token.tokenId,
            "amount": amount,
            "currency": Constants.defaultCurrency,
            "description": Constants.defaultDescription,
            "shipping": address
        ]
        Alamofire.request(url, method: .post, parameters: params)
            .validate(statusCode: 200..<300)
            .responseString { response in
                switch response.result {
                case .success:
                    completion(Result.success)
                case .failure(let error):
                    completion(Result.failure(error))
                }
        }
    }

我的服务器是:“web.rb”:

require 'sinatra'
require 'stripe'
require 'json'

Stripe.api_key = ##Secret Key

get '/' do

  status 200
  return "GT Hockey backend has been set up correctly"
end

post '/charge' do

  payload = params
  if request.content_type.include? 'application/json' and params.empty?
    payload = indifferent_params(JSON.parse(request.body.read))
  end

  begin
    charge = Stripe::Charge.create({
      :amount => payload[:amount],
      :currency => payload[:currency],
      :source => payload[:token],
      :description => payload[:description],
      :shipping => payload[:shipping]
  })
  rescue Stripe::StripeError => e
    status 402
    return "Error creating charge: #{e.message}"
  end

  status 200
  return "Charge successfully created"
end

我能够正确添加送货地址,包含在应用程序的 address 变量中,但我认为服务器类以及它如何在 Stripe 中创建订单有问题。

【问题讨论】:

    标签: swift ruby stripe-payments payment


    【解决方案1】:

    shipping 似乎需要子参数 addressname。我想由于您缺少 name 参数,因此费用可能不会显示运费。有关如何完成的参考,请在下面的 API 参考中查找 Order.create

    我了解您正在创建费用,但订单和费用中包含运费的语法是相同的。

    https://stripe.com/docs/api/charges/create?lang=ruby

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-26
      • 1970-01-01
      • 2022-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-31
      相关资源
      最近更新 更多