如何使用iOS向Stripe添加送货地址

问题描述 投票:0回答:1

我遵循了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个回答
0
投票

似乎发货

© www.soinside.com 2019 - 2024. All rights reserved.