Payments
...
Card APIs
Generate iFrame
relevant webhooks be sure you card payments webhooks for webhooks api reference returns the parameters you need to build an iframe web address (url) this endpoint generates the iframe code snippet dynamically it does this based on a merchant's specific template and card payments environment the otc is a one time code for details on how to customize and embed an iframe into your merchant website, see iframes { "name" "endpoint /api/v2/iframeconfiguration/generateotcsignupcard", "method" "post", "url" "https //pushtopaystaging crbnj net/api/v2/iframeconfiguration/generateotcsignupcard", "description" "", "tab" "examples", "examples" { "languages" \[ { "id" "xqvevvlutjpib30tfyx8k", "language" "curl", "code" "curl \n x post \n header 'content type application/json' \n header 'accept application/json' \n header 'authorization access token' \n d '{ \\\\\n domain \\"https //p2pcusto com\\", \\\ \n templateid \\"1bc3adff 59af 41c6 6218 08dc990404cd\\" \\\ \n }' 'https //pushtopay crbcloud com/api/v2/iframeconfiguration/generateotcsignupcard'\n", "customlabel" "" }, { "id" "8 0 ufo5mbo48qwcchral", "language" "nodejs", "code" "var https = require('follow redirects') https;\nvar fs = require('fs');\n\nvar options = {\n 'method' 'post',\n 'hostname' 'pushtopaystaging crbnj net',\n 'path' '/api/v2/iframeconfiguration/generateotcsignupcard',\n 'headers' {\n 'content type' 'application/json',\n 'authorization' 'bearer token'\n },\n 'maxredirects' 20\n};\n\nvar req = https request(options, function (res) {\n var chunks = \[];\n\n res on(\\"data\\", function (chunk) {\n chunks push(chunk);\n });\n\n res on(\\"end\\", function (chunk) {\n var body = buffer concat(chunks);\n console log(body tostring());\n });\n\n res on(\\"error\\", function (error) {\n console error(error);\n });\n});\n\nvar postdata = json stringify({\n \\"domain\\" \\"https //myfintech com\\",\n \\"templateid\\" \\"51d23abb b335 4f6d 46e1 08ddb2db74cb\\"\n});\n\nreq write(postdata);\n\nreq end();", "customlabel" "" }, { "id" "gwj5c9hhu93urw df1sc5", "language" "python", "code" "import http client\nimport json\n\nconn = http client httpsconnection(\\"pushtopaystaging crbnj net\\")\npayload = json dumps({\n \\"domain\\" \\"https //myfintech com\\",\n \\"templateid\\" \\"51d23abb b335 4f6d 46e1 08ddb2db74cb\\"\n})\nheaders = {\n 'content type' 'application/json',\n 'authorization' 'bearer token'\n}\nconn request(\\"post\\", \\"/api/v2/iframeconfiguration/generateotcsignupcard\\", payload, headers)\nres = conn getresponse()\ndata = res read()\nprint(data decode(\\"utf 8\\"))", "customlabel" "" }, { "id" "wrnp4xccop 00bcpksc3t", "language" "ruby", "code" "require \\"uri\\"\nrequire \\"json\\"\nrequire \\"net/http\"\n\nurl = uri(\\"https //pushtopaystaging crbnj net/api/v2/iframeconfiguration/generateotcsignupcard\\")\n\nhttps = net http new(url host, url port)\nhttps use ssl = true\n\nrequest = net http post new(url)\nrequest\[\\"content type\\"] = \\"application/json\\"\nrequest\[\\"authorization\\"] = \\"bearer eyjhbgcioijsuzi1niisimtpzci6ijdpsgdmzmezcnbpns1grxpsyk0zodzfrlk5cyising1dci6ijdpsgdmzmezcnbpns1grxpsyk0zodzfrlk5cyisinr5cci6ikpxvcj9 eyjpc3mioijodhrwczovl29hdxrodgvzdc5jcmjuai5uzxqilcjuymyioje3ntuwmdg2mjqsimlhdci6mtc1ntawodyyncwizxhwijoxnzu1mdeymji0lcjhdwqiolsiy3jiyxbpiiwiahr0chm6ly9vyxv0ahrlc3quy3jibmoubmv0l3jlc291cmnlcyjdlcjzy29wzsi6wyjjcmjhcgkixswiy2xpzw50x2lkijoiufrqrvjouk1tdgddbgllbnqilcjyb2xlijoic2vjuhrwzufwavn0z0v4dcisimp0asi6iji0rtc5q0ewmtu3mdczrtyyquu5mkyzm0rfodbcmdk5in0 fzdwutywomn9qmeug4h ntwduwpciilbu3vd9ww4bd73pc uigrx 4foehswcou06iq mwj3ybqsn5puerjwf8vbus7 2bsfw71gmftxxbl 9u ivohzchac8qaoygjntotzbe3nm14ih ijyvijrmjvn6q74c sh1ocxkpvpq4hx2bimdnmlvpuefrfmqbkgpg3ok34xa7hfbhb1rb8pbhrhqq9v9wcqdnmkb k3fjltx2r4xknap5aqdyu9ckddcogybakgqw3b9cqgzqkmqtk2hkrsdceqn52pv k cqzfzrcm1naok4tij3any8e6frpxx7mcqgfkjyfxbwaew\\"\nrequest body = json dump({\n \\"domain\\" \\"https //myfintech com\\",\n \\"templateid\\" \\"51d23abb b335 4f6d 46e1 08ddb2db74cb\\"\n})\n\nresponse = https request(request)\nputs response read body\n", "customlabel" "" }, { "id" "a6efmdtjoxei5xjcnxczy", "language" "go", "code" "package main\n\nimport (\n \\"fmt\\"\n \\"strings\\"\n \\"net/http\"\n \\"io\\"\n)\n\nfunc main() {\n\n url = \\"https //pushtopaystaging crbnj net/api/v2/iframeconfiguration/generateotcsignupcard\\"\n method = \\"post\\"\n\n payload = strings newreader(`{`+\\"\n\\"+`\n \\"domain\\" \\"https //myfintech com\\",`+\\"\n\\"+`\n \\"templateid\\" \\"51d23abb b335 4f6d 46e1 08ddb2db74cb\\"`+\\"\n\\"+`\n}`)\n\n client = \&http client {\n }\n req, err = http newrequest(method, url, payload)\n\n if err != nil {\n fmt println(err)\n return\n }\n req header add(\\"content type\\", \\"application/json\\")\n req header add(\\"authorization\\", \\"bearer eyjhbgcioijsuzi1niisimtpzci6ijdpsgdmzmezcnbpns1grxpsyk0zodzfrlk5cyising1dci6ijdpsgdmzmezcnbpns1grxpsyk0zodzfrlk5cyisinr5cci6ikpxvcj9 eyjpc3mioijodhrwczovl29hdxrodgvzdc5jcmjuai5uzxqilcjuymyioje3ntuwmdg2mjqsimlhdci6mtc1ntawodyyncwizxhwijoxnzu1mdeymji0lcjhdwqiolsiy3jiyxbpiiwiahr0chm6ly9vyxv0ahrlc3quy3jibmoubmv0l3jlc291cmnlcyjdlcjzy29wzsi6wyjjcmjhcgkixswiy2xpzw50x2lkijoiufrqrvjouk1tdgddbgllbnqilcjyb2xlijoic2vjuhrwzufwavn0z0v4dcisimp0asi6iji0rtc5q0ewmtu3mdczrtyyquu5mkyzm0rfodbcmdk5in0 fzdwutywomn9qmeug4h ntwduwpciilbu3vd9ww4bd73pc uigrx 4foehswcou06iq mwj3ybqsn5puerjwf8vbus7 2bsfw71gmftxxbl 9u ivohzchac8qaoygjntotzbe3nm14ih ijyvijrmjvn6q74c sh1ocxkpvpq4hx2bimdnmlvpuefrfmqbkgpg3ok34xa7hfbhb1rb8pbhrhqq9v9wcqdnmkb k3fjltx2r4xknap5aqdyu9ckddcogybakgqw3b9cqgzqkmqtk2hkrsdceqn52pv k cqzfzrcm1naok4tij3any8e6frpxx7mcqgfkjyfxbwaew\\")\n\n res, err = client do(req)\n if err != nil {\n fmt println(err)\n return\n }\n defer res body close()\n\n body, err = io readall(res body)\n if err != nil {\n fmt println(err)\n return\n }\n fmt println(string(body))\n}", "customlabel" "" } ], "selectedlanguageid" "xqvevvlutjpib30tfyx8k" }, "results" { "languages" \[ { "id" "wekfhbkhwkthue5c1x3hu", "language" "200", "customlabel" "", "code" "{\n \\"version\\" \\"1 0 0 0\\",\n \\"result\\" {\n \\"templateid\\" \\"51d23abb b335 4f6d 46e1 08ddb2db74cb\\",\n \\"domain\\" \\"https //myfintech com\\",\n \\"otcid\\" \\"c5f26745 17a0 4e08 8cf8 3b4c2a41d5b0\\",\n \\"expiresat\\" \\"2025 08 12t10 39 09 283371 04 00\\",\n \\"createdat\\" \\"2025 08 12t10 34 09 283371 04 00\\",\n \\"warning\\" null,\n \\"params\\" \\"createdat=2025 08 12t10 34 09 2833710z\&domain=https //myfintech com\&expiresat=2025 08 12t10 39 09 2833710z\&otcid=c5f26745 17a0 4e08 8cf8 3b4c2a41d5b0\&templateid=51d23abb b335 4f6d 46e1 08ddb2db74cb\&firstandlastnameprovided=false\\"\n },\n \\"issuccessfull\\" true,\n \\"issuccessful\\" true\n}" } ], "selectedlanguageid" "wekfhbkhwkthue5c1x3hu" }, "request" { "pathparameters" \[], "queryparameters" \[], "headerparameters" \[], "bodydataparameters" \[ { "name" "templateid", "kind" "required", "type" "string", "description" "the guid that identifies the template" }, { "name" "domain", "kind" "required", "type" "string", "description" "the name of a valid top level internet domain where consumers will use the iframe for example, myfintech com this domain must appear in the cross river allowlist ", "children" \[] }, { "name" "firstname", "kind" "optional", "type" "string", "description" "if provided, the firstname will be populated internally and the iframe will not present a firstname field for completion by the user \nif you provide a firstname you must provide a lastname \nminimum 2 characters, maximum 35 characters", "" "if provided, the firstname will be populated internally and the iframe will not present a firstname field for completion by the user \nif you provide a firstname you must provide a lastname \nminimum 2 characters, maximum 35 characters" }, { "name" "lastname", "kind" "optional", "type" "string", "description" "if provided, the lastname will be populated internally and the iframe will not present a lastname field for completion by the user \nif you provide a lastname you must provide a firstname \nminimum 2 characters, maximum 35 characters", "" "if provided, the lastname will be populated internally and the iframe will not present a lastname field for completion by the user \nif you provide a lastname you must provide a firstname \nminimum 2 characters, maximum 35 characters" } ], "formdataparameters" \[] }, "currentnewparameter" { "label" "body parameter", "value" "bodydataparameters" }, "response" \[ { "name" "result", "kind" "optional", "type" "object", "description" "result of attempt to add an iframe ", "children" \[ { "name" "templateid", "kind" "optional", "type" "string", "description" "the guid that identifies the template" }, { "name" "domain", "kind" "optional", "type" "string", "description" "the name of a valid top level internet domain where consumers will use the iframe for example, myfintech com this domain must appear in the cross river allowlist " }, { "name" "otcid", "kind" "optional", "type" "string", "description" "single use passcode so you can use our api" }, { "name" "expiresat", "kind" "optional", "type" "string", "description" "time the otcid expires" }, { "name" "createdat", "kind" "optional", "type" "string", "description" "cardholder phone number must be ten digits with no spaces " }, { "name" "warning", "kind" "optional", "type" "string", "description" "this field is null unless there is a potential issue with the signup process" }, { "name" "params", "kind" "optional", "type" "string", "description" "the pre built query params you need to build the iframe source" } ] }, { "name" "issuccessfull", "kind" "optional", "type" "string", "description" "true if a unique url was built successfully, otherwise false", "children" \[] }, { "name" "issuccessful", "kind" "optional", "type" "string", "description" "true if a unique url was built successfully, otherwise false", "children" \[] } ] }