Ana SayfaBelgelerKod ÖrnekleriAPI BaşvurusuDuyurularModellerSürüm NotlarıSSSGitHubVideolar
Geliştirici MerkeziAPI DurumuDestek
Belgeler
Geliştirici MerkeziAPI DurumuDestek

Üçüncü Taraf Sağlayıcı İmza Rehberi

Üçüncü taraf ödeme sağlayıcısı imzalarını nasıl oluşturacağınızı öğrenin.

Başarılı bir imza oluşturmak için, aşağıda belgelenen talimatları izleyin. RFC 9421 şartname. Amazon'un SP-API istekleri yapan TPP'ler için uyguladığı imza oluşturma yönleri olduğunu unutmayın. Bunlar aşağıdaki bölümlerde belgelenmiştir.

İmza bileşenleri

RFC 9421 Bir istekte hangi HTTP ileti bileşenlerinin imzalandığını iletme sürecini açıklar. İmza oluştururken aşağıdaki ileti bileşenlerini eklemelisiniz.

📘

Not

Aşağıdaki bileşenlerin dahil edilememesi, imza doğrulama hatasına neden olur. Bu bileşenleri herhangi bir sırayla ekleyebilirsiniz.

HTTP alanları (mesaj başlıkları)

BaşlıkAçıklama
x-amz-access-tokenİstek yapmak için kullanılan LWA erişim belirteci.
x-amzn-content-digestİstek yükünün sha-256 özeti. Yük yükü olmayan istekler için, sha-256 özetini bir bilgisayarda oluşturun boş dize.

Ek bilgi için bkz. HTTP Alanları.

Türetilmiş bileşenler

ComponentAçıklama
@methodİsteğin HTTP yöntemi. Değer büyük harf olmalıdır (örneğin GET, POST).
@queryTarafından tanımlanan normalleştirilmiş sorgu dizesi URI ve liderleri içerir ? karakter.
İstekte bir sorgu yoksa, bileşen değerini şu şekilde doldurmanız gerekir ? içinde belirtilen imza tabanını oluşturduğunuzda RFC 9421.
Değer, Yüzdelik Kodlama gibi gerekli tüm kodlamayı gerçekleştirdikten sonra türetilmelidir. Yaptığınız diğer değişiklikler queryStringimzayı oluşturduğunuzda dahil edilmeyen imza hatasına neden olur.

Ek bilgi için bkz. Türetilmiş Bileşenler.

İmza parametreleri

ParametreAçıklama
createdSaniye cinsinden bir dönem zaman damgası.
Eğer created Epoch, isteğin alındığı zamana kadar beş dakikadan daha eski bir süreye işaret eder, imza süresi dolmuş sayılır ve çağrı reddedilir.
algİmza tabanını imzalamak için kullandığınız bir algoritma.
Değeri alg olmalı PS512. Ek ayrıntılar için bkz. İmzalama algoritması.

Ek bilgi için bkz. İmza Parametreleri.

🚧

Dikkat

Tüm istek başlığı değerleri büyük/küçük harfe duyarlıdır. Herhangi bir durum uyumsuzluğu varsa, imza doğrulamanız başarısız olur.

İmza etiketi

RFC 9421 aynı başlık içinde birden fazla imzaya izin verir (belirsizliği gidermek için kullanın imza etiketleri). SP-API, yalnızca bir imza kullanır ve bu imza ile tanımlanır x-amzn-psd2 imza etiketi. Bunu içinde kullanmalısın Signature ve Signature-Input PSD2 ile ilgili bilgileri tanımlamak için başlıklar.

İmzalama algoritması

İşlemi tamamladığınızda oluşturulan imza taban dizesinde bir imza oluşturulur. RFC 9421'deki adımlar. İmza taban dizenizi oluşturduktan sonra, isteği şu şekilde imzalamak için elektronik NCA Sertifikanızla ilişkili özel anahtarı kullanmanız gerekir. PS512 algoritma. Bu algoritma şu anda SP-API istekleri için desteklenen tek algoritmadır.

İmzada kullandığınız özel anahtarla ilişkilendirilen sertifika bir başlık olarak iletilmelidir (x-amzn-psd2-certificate) SP-API isteğinizde. Sertifika bir olmalıdır PEM-formatlı Şununla başlayan Base64 kodlamasında dize -----BEGIN CERTIFICATE----- ve bitiyor -----END CERTIFICATE-----.

Sertifikada izin verilmeyen karakterler kullanırsanız SP-API isteğiniz reddedilir. Yalnızca Nitelikli Güven Hizmet Sağlayıcıları (QTSP) tarafından verilen HTTP isteklerini imzalamayı amaçlayan sertifikaları kullanmanız gerekir.

🚧

Dikkat

Kullandığınız sertifika, geliştirici kaydınızda sağladığınız kuruluş tanımlayıcısıyla ilişkilendirilmelidir. Bir uyumsuzluk varsa, isteğiniz reddedilir.

Hata yanıtı

İstek imzası doğrulamanız başarısız olursa, gövdede ek bilgiler içeren 403 Hatası alırsınız. Örneğin:

{ "errors": [ { "code": "Unauthorized", "message": "Access to requested resource is denied.", "details": "Reason for error." } ] }

Aşağıdakiler için olası değerlerin bir listesidir. details alan:

Hata mesajıAçıklama
TPP certificate required but missing from request x-amzn-psd2-certificate Header eksik.
TPP certificate has invalid formatSağlanan sertifika geçerli PEM formatında değil.
Content Digest header required but missing from requestX-amzn-content-digest istek başlığı eksik.
Invalid Content Digestİçerik özeti doğrulanamadı veya desteklenmeyen bir algoritma kullandınız. Yalnızca SHA-256 desteklenmektedir.
Signature-Input header required but not presented Signature-Input istek başlığı eksik.
Signature-Input header is invalid Signature-Input başlık değeri RFC 9421 spesifikasyonuna uymuyor.
Request PSD2 Signature is InvalidGeçersiz imza. Bunun yanlış özel anahtar veya sertifika kullanılması veya yazım hatası gibi birden fazla nedeni olabilir.
Signature header is required but not presented Signature istek başlığı eksik.

Örnek imza

Aşağıdaki örnek, gerekli tüm bileşenleri içeren bir imza taban dizesidir:

"x-amz-access-token": Atza|IgEBIN... "x-amzn-content-digest": sha-256=:fadf3qr3TAFASEG3234gADA+krdzMzYayg4YFig=: "@method": POST "@query": ?key2=value2&key1=value1 "@signature-params": ("x-amz-access-token" "x-amzn-content-digest" "@method" "@query");created=1720137600;alg="PS512";

İlişkili Signature-Input başlık:

Signature-Input: x-amzn-psd2=("x-amz-access-token" "x-amzn-content-digest" "@method" "@query");created=1720137600;alg="PS512"

Aşağıdaki örnek, aşağıdakilere sahip bir imza başlığıdır: Signature etiket:

Signature: x-amzn-psd2=:cyqStwls2k3Xs8SSzDvDhxWEc_P0dNxV5I6Tp... :

Bu sayfa size yardımcı oldu mu?