forked from b-social/zebra
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ephemeral_keys.clj
29 lines (26 loc) · 1.04 KB
/
ephemeral_keys.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
(ns zebra.ephemeral-keys
(:refer-clojure :exclude [list update])
(:require [zebra.utils :refer [transform-params]])
(:import [com.stripe.model EphemeralKey EphemeralKey$AssociatedObject]
[com.stripe.net RequestOptions]
[java.util Map]))
(defn associated-object->map [^EphemeralKey$AssociatedObject object]
{:id (.getId object)
:type (.getType object)})
(defn ephemeral-key->map [^EphemeralKey source]
{:id (.getId source)
:object (.getObject source)
:associated-objects (map associated-object->map
(.getAssociatedObjects source))
:created (.getCreated source)
:expires (.getExpires source)
:livemode (.getLivemode source)
:secret (.getSecret source)})
(defn create
[params api-version api-key]
(ephemeral-key->map
(EphemeralKey/create ^Map (transform-params params)
(-> (RequestOptions/builder)
(.setApiKey api-key)
(.setStripeVersionOverride api-version)
.build))))